gpt4 book ai didi

javascript - 观察 @each 时了解哪个项目触发事件

转载 作者:行者123 更新时间:2023-11-28 08:55:33 28 4
gpt4 key购买 nike

我正在观察这样的 Ember Data RecordArray:

myArray: function() {
return MyRecord.find();
}.property(),

isDirtyChanged: function() {
// Do something
}.observes('array.@each.isDirty');

我想对触发事件的特定记录执行一些操作。例如,如果记录 2 被修改:

MyRecord.find(2).set('my_property', 'some_value');

isDirtyChanged 将被调用并对记录执行一些操作。如何获取对调用观察者的记录的引用,而不仅仅是整个数组?

最佳答案

据我所知,没有办法告诉。文档也没有提到如何执行此操作。请参阅herehere

但是它确实提到了这一点:

Note, @each.property observer is called per each add or replace of an element and it's not called with a specific enumeration item.

通常,如果您向观察者函数添加 objkeyname 参数并调用 obj.get(keyname) 您将得到你正在观看的物体。但由于这里的键名是 array.@each.isDirty,所​​以不起作用。

isDirtyChanged: function(obj, keyname) {
obj is the targen here the object wacthing the array
keyname is 'array.@each.isDirty'
// Do something
}.observes('array.@each.isDirty');

不过我很乐意被证明是错的!

这是一个fiddle尝试一些东西。

关于javascript - 观察 @each 时了解哪个项目触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18550488/

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