0
VueJS 2.0では、選択が変更されたときにv-for指示文を使用して項目のレンダリングを更新したいとします。VueJS選択時にデータを更新する方法
HTML:
<main>
{{ testvalue }}
<select v-model="selected.name">
<option v-for="foo in foobar">{{foo.name}}</option>
</select>
<span>Selected: {{ selected.name }}</span>
<div v-for="(value, key) in selected.properties">
<p>{{ key }} {{ value }}</p>
</div>
</main>
app.js
new Vue({
el: 'main',
data: {
foobar: [
{ name: 'rex', type: 'dog', properties: [{color: 'red', sound: 'load'}] },
{ name: 'tike', type: 'cat', properties: [{color: 'brown', sound: 'quiet'}] },
{ name: 'tiny', type, 'mouse', properties: [{color: 'white', sound: 'quiet'}]}
],
selected: { name: 'tiny', type, 'mouse', properties: [{color: 'white', sound: 'quiet'}]},
testvalue: 'Test'
},
created: function() {
this.selected = this.foobar[0];
},
mounted: function() {
this.selected = this.foobar[1];
}
})
ここjsfiddle:選択したオブジェクトは、それが変化からのデータを取得しているときhttps://jsfiddle.net/doritonimo/u1n8x97e/
V-のためのディレクティブは更新されません。 。 Vueでデータが変更されたときにv-forループに更新を指示する方法はありますか?
によって選択されたオブジェクトにアクセス:
今selected
は単なる数です。入力したコードが不完全で、構文エラーが含まれています – CodinCatvue/vに更新する必要はありません。 Vueは変更を検出し、自動的に再レンダリングします。 – CodinCat
@CodinCatコードを変更して、フィドルを追加しました。(でも、フィドルが働くことはできません。) –