[英]Knockout Modifying ObservableArray inside Computed
我正在尝试解决以下问题:我有两种方法可以计算可观察的值,并希望将其解析为可观察的数组,并使更改事件冒泡。 问题在于它似乎没有通知订户。
最好的显示在jsfiddle中: http : //jsfiddle.net/RHhmY/13/
代码在这里:
function CustomerOverview() {
var self = this;
self.contacts = ko.observableArray([]);
self.v = ko.computed(
{
read : function(){
return "";
},
write : function(val){
self.contacts = ko.observableArray(String(val).split(','));
}
}
);
};
var vm = new CustomerOverview();
ko.applyBindings(vm);
和html:
LENGTH<span data-bind="text: contacts.length"></span><br />
<input type="text" data-bind="value: v">
我已经尝试了许多方法,包括将有问题的observableArray通知给订户,并且长度从不更新。
顺便说一句,我很乐意改变淘汰赛的构造方式,只是想要一些可行的方法。
这会破坏您的绑定:
write : function(val){
self.contacts = ko.observableArray(String(val).split(','));
}
您想更新可观察对象,而不是重新分配它
write : function(val){
self.contacts(String(val).split(','));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.