繁体   English   中英

淘汰赛修改ObservableArray内部计算

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM