2016-05-01 19 views
13

vue jsにはdocument.getElementById('#id')の省略形がありますか?JQueryの$('#id')のようですか?vue js 'document.getElementById' shorthand

もしそうなら、私は他の情報を見つけることができるので、ドキュメント内でこれについての参考資料はどこにありますか?

答えて

9

ディレクティブv-elを使用して要素を保存し、後で使用することができます。

https://vuejs.org/api/#vm-els

<div v-el:my-div></div> 
<!-- this.$els.myDiv ---> 

編集:これは、Vueの2で廃止され、あなたが本当にdocument.querySelector単なるラッパーで使用できる要素Vue.util.queryを取得しようとしている場合

+7

これは廃止予定です。vuejsで使用しないでください。 – David

+0

廃止予定と廃止予定の詳細についてはhttps://github.com/vuejs/vue/issues/2873を参照してください。 – ytbryan

3

に答える胡亚雄見るけど14文字対22文字(それぞれ)、それは技術的に短いです。また、探している要素が存在しない場合には、エラー処理もあります。

ありVue.util上の任意の公式文書ではありませんが、これは機能の全体のソースです:

function query(el) { 
    if (typeof el === 'string') { 
    var selector = el; 
    el = document.querySelector(el); 
    if (!el) { 
     ({}).NODE_ENV !== 'production' && warn('Cannot find element: ' + selector); 
    } 
    } 
    return el; 
} 

レポリンク:VUEでVue.util.query

30

Theresの無い簡単な方法2.

ジェフの方法はすでにvue2で廃止されているようです。

Heres別の方法であなたの目標を達成することができます。

<div id="myDiv" ref="myDiv"> 
</div> 

methods: { 

    showMyDiv() { 
     console.log(this.$refs.myDiv); 
    } 
} 
+1

これは完璧です!ありがとうございました。 – ITWitch

+0

これを受け入れる必要があります答え! –

2

あなたはAPIでこれらの2つのページの組み合わせで、あなたの答えを見つけることができます:refは要素への参照を登録するために使用される

をまたは子供 コンポーネント。参照は親の コンポーネントの$ refsオブジェクトの下に登録されます。プレーンなDOM要素に使用した場合、 参照は、その要素

refを登録している子コンポーネントを保持しているオブジェクトになります。

0

は、直接DOMを参照することにより、DOM操作を行うにはないようにしてください私たちはDOMを操作するためのデータとディレクティブを使用する代わりに、直接DOMにアクセスしようとすると、それがパフォーマンスの問題の多くを持つことになります、また、イベント処理は、よりトリッキーになります。

これにより、操作の制御が強化され、モジュラー形式の機能を管理できるようになります。