0
私はVue.jsでnoobの合計です。かなりのカスタマイズされたオプションセレクタを作成しようとしています。Vue.jsクラスバインディングで現在の要素の属性をチェックする方法は?
私のデータバインディングは正常ですが、各ノードの値をチェックするためのクラスバインディングの仕組みを理解できません。
HTML:
<div id="pretty_options">
<ul class="pretty-options" data-field="field_id">
<li class="option" v-on:click="select" v-bind:class="{ selected : isSelected }" data-value="1">One</li>
<li class="option" v-on:click="select" v-bind:class="{ selected : isSelected }" data-value="2">Two</li>
<li class="option" v-on:click="select" v-bind:class="{ selected : isSelected }" data-value="3">Three</li>
<li class="option" v-on:click="select" v-bind:class="{ selected : isSelected }" data-value="4">Four</li>
<li class="option" v-on:click="select" v-bind:class="{ selected : isSelected }" data-value="5">Five</li>
</ul>
<input type="number" id="field_id" name="field_id" v-model="field_id">
</div>
JS:
var mcveSample = new Vue({
el: '#pretty_options',
data: {
field_id: 1
},
methods: {
select: function(event) {
var option = event.currentTarget;
var value = option.dataset.value;
this.field_id = value;
}
},
computed: {
isSelected: function(element) {
// I'd like to do something like this:
// return this.field_id == element.dataset.value;
// But, I can't find how to check each element's value...
}
}
});
ここJSFiddleです。
私の質問は、どのように計算された関数のすべてのノードの値/属性と比較するのですか?
は、この広範なためにどうもありがとうございますその依存関係に基づいて、キャッシュされている返す計算されたプロパティを使用することをお勧めします説明! –
ようこそ。 – wostex
すみません、wostex。私は今それを実装していると私は別の問題に直面しています... 'v-for'(サーバ側でレンダリングされるオプション)や' index'( 'data-value'はレンダリングされた文字列サーバー側...) –