我有一个复杂的对象,该对象包装在一个KnockoutObservable中,因此可以更改代码的各个区域,并在此对象更改时得到通知。例如:
var myObj: KnockoutObservable<MyObj> = ko.observable(null).extend({ notify: 'always' });
...
// other code
myObj.subscribe(function(myObj: MyObj) {
// myObj changed
});
...
myObj(myObjNew);
但是,理想情况下,我想将一个附加对象传递给所有观察者,其中包含有关复杂对象上的确切变化的一些详细信息。例如:
var myObj: KnockoutObservable<MyObj> = ko.observable(null).extend({ notify: 'always' });
...
// other code
myObj.subscribe(function(myObj: MyObj, changed: any) {
if (changed.field1) {
// myObj.field1 changed
}
});
...
myObj(myObjNew, { field1: 'a'});
设置KnockoutObservable时,是否可以通过这种方式传递其他信息,以便每个订户不仅获得最新值,还获得该附加信息?