我有一个外部对象在我的视图模型之外进行大量处理。我希望能够使用触发器从该对象发送数据。
是否可以使用普通对象将数据传递给订阅者valueHasMutated
?
function obj(trigger) {
var self = this;
self.notify = function (value) {
trigger.call(undefined,value);
};
}
function vm() {
var self = this;
self.flag = ko.observable();
self.myobj = new obj(self.flag.valueHasMutated);
self.flag.subscribe(function(value) {
console.debug("Caught trigger with value " + value);
});
}
ko.applyBindings(new vm());
// trigger
ko.dataFor(document.body).myobj.notify("Working");
触发器正在弹出,但我得到的值是undefined
.
我在这里在 JSBIN上设置了一个示例
感谢您对此的任何帮助。
编辑
查看源代码,我可以看到它valueHasMutated
获得了“新价值”,但仍然无法使其发挥作用。