以下に示すように、v-for を使用してこの itemList を html でレンダリングし、各アイテムの active を通じてこのアイテムに対応する html を表示 (v-show) するかどうかを制御します。
しかし、このようにイベントメソッドselectItemでitemListを変更した場合、domは更新されないのでしょうか? ? ?
滿天的星座2017-06-12 09:31:44
selectItem に console.log(index) の値はありますか? この vue オブジェクトを取得するにはこれを使用する必要がありますか?
某草草2017-06-12 09:31:44
提供されたデータ形式に従って、試してみたところ、コードは次のとおりです
`<p id="app">
<li v-for="(item,index) in itemList" v- on:click="selectItem(index)" v-if="item.active">
</li>
</p>
<スクリプト>
</script>`
阿神2017-06-12 09:31:44
たとえば、ここではオブジェクトの代わりに配列を使用する方が適切ですが、あなたの dom のレンダリングの失敗は間違っていないと思います。ここでは問題ではなく、選択データの一方向の流れの問題など、フォーム コントロールにバインドされる必要があります。
巴扎黑2017-06-12 09:31:44
キー値モードは vue では監視できません。vue は $set メソッドを提供します。 。削除には
selectItem: function (index) {
}、
typecho2017-06-12 09:31:44
this.itemList.splice(index, 1, Object.assign({}, this.itemList[index], { active: true }))