質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

1077閲覧

vueでname optionを指定してくださいエラー

g___

総合スコア16

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/09/10 09:22

cdnのvueで制作をしている時にエラーが起きました。
nameにcomponentと同じ名前を指定すればいいとの情報をネットから拾ったのですがエラーが解消できません。

[Vue warn]: Unknown custom element: <create-button> - did you register the component correctly? For recursive components, make sure to provide the "name" option. (found in <Root>)

js

1 <div id="generetor"> 2 <svg width="100px" height="150px"> 3 <line v-bind:x1="rotate_x1" v-bind:y1="rotate_y1" v-bind:x2="rotate_x2" v-bind:y2="rotate_y2" stroke="black" stroke-width="1" /> 4 </svg> 5 6 <form action=""> 7 <create-button></create-button> 8 </form> 9 10 </div> 11 12 <script type="text/x-template" id="svg-component"> 13 <div class="svg_component_line"> 14 <p><label><input type="range" v-model="rotate_x1"></label></p> 15 <p><label><input type="range" v-model="rotate_x2"></label></p> 16 <p><label><input type="range" v-model="rotate_y1"></label></p> 17 <p><label><input type="range" v-model="rotate_y2"></label></p> 18 </div> 19 </script> 20 21 <script> 22 23 //rangeのデータ 24 var rangeDate = { 25 rotate_x1: 0, 26 rotate_x2: 0, 27 rotate_y1: 0, 28 rotate_y2: 0 29 }; 30 31 //コンポーネント 32 var lineComponent = { 33 template: '#svg-component' 34 }; 35 36 new Vue({ 37 el: '#generetor', 38 data: rangeDate, 39 name: 'create-button', 40 component:{ 41 'create-button': lineComponent, 42 } 43 }) 44 </script> 45

試したこと

nameにcomponent名を指定

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

解答ありがとうございました。
エラーは直りませんでしたが、アドバイス通りゆっくり学習していこうと思います。

投稿2018/09/11 04:01

g___

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

解答ありがとうございました。
エラーは直りませんでしたが、アドバイス通りゆっくり学習していこうと思います。

投稿2018/09/11 04:00

g___

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Javascript

1new Vue({ 2 el: '#generetor', 3 data: rangeDate, 4 name: 'create-button', 5 component:{ 6 'create-button': lineComponent, 7 } 8})

component -> components の誤りが原因ではないでしょうか。

★★以降追記

component内で利用するデータは、component のデータとして定義するか、プロパティとしてコンポーネントに渡してやる必要があります。

Vue インスタンスに設定した data そのものは利用できません。

コンポーネント内でのみ利用するデータなら、Vue インスタンスに渡すオブジェクトに追加する代わりに、

JavaScript

1var lineComponent = { 2 template: '#svg-component', 3 data: ()=>{ 4 rotate_x1: 0, 5 ... 6 } 7};

というふうに、直接コンポーネント定義の部分にデータを設定してください。

Vue インスタンスから渡したい場合はプロパティ構文で書きます。

投稿2018/09/10 10:24

編集2018/09/10 12:43
R.Mizukami

総合スコア1086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

g___

2018/09/10 10:57

componentsに変更してもダメでした、、、 エラーが増えます
R.Mizukami

2018/09/10 12:33

コンポーネントの書き方にもいくつか誤りがあるようですね。 コードを一気に書きすぎです。よくわかっていないうちは、 最小限の動作するコードから、少しづつ機能を追加していくといいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問