2017-10-02 10 views
0

javascriptで定義された小さなvue.jsコンポーネントがあります。要素がロードされた場合にのみvueコンポーネントを実行

要素が読み込まれたときにだけvueコンポーネントをインスタンス化するエレガントな方法はありますか?

問題は、私は要素が存在しない他のHTMLSにこれらの警告を受けています:これはどこでも

それはVUEでの世話をされてどのように
new Vue({ 
    el: '#item', 
    }); 

JS実行しているので

vue.js:485 [Vue warn]: Cannot find element: #item 

.js?

+0

あなたの問題は、この前の記事で解決することができます:#ITEMを持っていけないhtmlページ上のhttps://stackoverflow.com/questions/29484431/vue-warn-cannot-find-element –

+0

onloadイベント文句を言わない仕事element – lapinkoira

+0

ajaxリクエストで要素をロードしますか?私はなぜそれが最初の負荷に存在しないのかわかりません –

答えて

1

インスタンスを作成する前に要素をテストします。

if(document.getElementById("#item")){ 
    new Vue({ 
    el: '#item', 
    }); 
} 
+0

ええ、私はこれについて考えていましたが、それは私にはとても優雅に見えませんでしたが、これはこれを行う唯一の方法ですか? – lapinkoira

+0

私はvue-onlyの方法を知らない。しかし、これは警告にすぎません。つまり、デバッグモードをオフにした状態でプロダクションで表示する必要はありません。 –

+1

ok、この質問はしばらく開いたままにしておきます。誰もvue-onlyな方法を知らないなら、私はこの答えを受け入れます – lapinkoira

関連する問題