gpt4 book ai didi

javascript - 用 Vue.js 2 观察数组

转载 作者:数据小太阳 更新时间:2023-10-29 05:25:00 25 4
gpt4 key购买 nike

我有一组选择(分配给项目的 item.pricelists)在 v-for 循环中呈现并与 v-model 绑定(bind)。该项目的可能选择选项由 item.valid_pricelists 中的另一个 v-for 呈现。两者都是从同一个数组中的服务器中提取的。现在我需要注意用户何时更改选择,因此我可以使用 item.valid_pricelists 中的新值更新 item.pricelists 数组。

渲染部分:

<div v-for="(row,index) in item.pricelists">
<select v-model="row.id">
<option :value="price_list.id" v-for="price_list in item.valid_pricelists">
{{price_list.description}}
</option>
</select>
Parent pricelist : {{row.parent_id}}
</div>

观看部分:

watch:{
'item.pricelists.id': {
handler: function (val,oldVal) {
console.log(val + " - " + oldVal);
}, deep:true}
}

现在,注意 - 这对简单的变量来说工作得很好 - 拒绝让步。

这是 fiddle与代码的相关部分。

我在看 vue docs ,但我无法理解它。任何帮助将不胜感激。

最佳答案

我不知道是否可以用 watch 解决这个问题,但是,我会建议另一种方法。您可以将 v-on:change 添加到您的选择中:

<select v-model="row.id" v-on:change="selectionChanged(row)">

并向 Vue 实例添加一个方法:

new Vue({
...
methods: {
selectionChanged: function(item) {

}
}
}

这样,只要调用 selectionChanged 函数,您就会知道选择已更改。

关于javascript - 用 Vue.js 2 观察数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41201331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com