我刚刚第一次阅读了敲除库网站的入门文档,并且有一个关于如何在发送到敲除订阅函数的回调函数中指定this关键字的目标的问题,在跟踪更改的上下文中正在观察其属性的一组对象。
我需要跟踪 100 个属性最初为空的对象。这 100 个对象中的每一个都可以用同一个视图模型来描述:
var myViewModel = {
personName: ko.observable(null),
personAge: ko.observable(null)
};
var my100 = {
a1: myViewModel,
a2: myViewModel,
.
.
.
a100: myViewModel
}
subscribe() 函数的第二个参数“定义了回调函数中this的值”。http://knockoutjs.com/documentation/observables.html
当我需要知道这 100 个对象中的哪一个发生了变化时,我不确定第二个参数是什么。当视图模型中的任何属性从 null 更改为一个值,或从一个值更改为另一个值时,我想知道更改发生在哪个对象中,例如a88。
myViewModel.personName.subscribe(myCallback, ?, "change");
myViewModel.personAge.subscribe(myCallback, ?, "change");
知道哪个属性发生了更改也很好,但更重要的是我知道其属性已更改的对象。