簡體   English   中英

Vue.js觀看數組內的嵌套屬性

[英]Vue.js watch a nested property inside array

我得到了這樣的Vue對象:

var vm = new Vue({
            el: '#app',
            data: {
                items: [],
                index: 0
            },

            });

內部項目數組中,我將推送項目,例如:

item1 = {
    a: 1,
    b: 'type',
    c: '3.556'
}
...
itemN = {
    a: n,
    b: 'type',
    c: '5.226'
}

那么我將更新該商品的“ c”屬性之一,並且我想設置一個觀察者,只要該屬性之一發生變化,便會警告我。

編輯:我也想知道女巫項目已更改

您可以使用深度監視,但是...它不能提供輕松的方法來確定已更改的項目。

...
watch: {
  items: {
    handler: function (val, oldVal) {

    },
    deep: true
  }
}
...

該答案中提到了一種可能的解決方法,該解決方案背后的想法是將每個項目包裝在組件中並偵聽組件中的事件。

您還可以存儲克隆的項目數組並在監視處理程序中更新該克隆,您可以使用該克隆來過濾已更改的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM