2017-01-08 34 views
5

tôi nhận được một đối tượng vue như thế này:Vue.js xem một tài sản lồng bên trong mảng

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

      }); 

mục Bên trong mảng tôi sẽ đẩy mặt hàng như:

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

sau đó tôi sẽ cập nhật một trong những tài sản "c" của mục và tôi muốn thiết lập người quan sát cảnh báo tôi ngay sau khi một trong những thuộc tính này thay đổi.

EDIT: tôi cũng muốn biết mục phù thủy đã thay đổi

Trả lời

0

Bạn có thể sử dụng đồng hồ sâu, nhưng ... nó không cung cấp một cách dễ dàng cách để xác định mục đã thay đổi.

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

    }, 
    deep: true 
    } 
} 
... 

Một trong những cách giải quyết có thể được đề cập trong this answer, Ý tưởng đằng sau giải pháp này là để quấn mỗi mục trong thành phần và lắng nghe sự kiện từ thành phần.

Bạn cũng có thể lưu trữ các mảng nhân bản vô tính và cập nhật bản sao đó trong trình xử lý đồng hồ, bạn có thể sử dụng bản sao đó để lọc mục đã thay đổi.

Các vấn đề liên quan