Knockout.js 计算的observableArray不更新UI

Knockout.js 计算的observableArray不更新UI,knockout.js,knockout-2.0,Knockout.js,Knockout 2.0,我有一个主要的ko.observableArray,我从中创建了三个计算的可观察数组,并将这三个数组绑定到UI。代码是 self.ActiveVisitsList = ko.observableArray(); self.FVL = ko.computed(function () { return ko.utils.arrayFilter(self.ActiveVisitsList(), function (o) { return o.CsrID == 0; }

我有一个主要的ko.observableArray,我从中创建了三个计算的可观察数组,并将这三个数组绑定到UI。代码是

self.ActiveVisitsList = ko.observableArray();

self.FVL = ko.computed(function () {
    return ko.utils.arrayFilter(self.ActiveVisitsList(), function (o) {
        return o.CsrID == 0;
    });
}, self);

self.MVL = ko.computed(function () {
    return ko.utils.arrayFilter(self.ActiveVisitsList(), function (o) {
        return o.CsrID == self.Me().ID;
    });
}, self);

self.OVL = ko.computed(function ()
{
    return ko.utils.arrayFilter(self.ActiveVisitsList(), function (o) {
        return (o.CsrID != self.Me().ID && o.CsrID != 0);
    });
}, self);
一段时间后,主ObservalArray中的对象显示为“ActiveVisitorsList”,其CsrID从0更改为其他值,但绑定的UI不反映。我有没有办法用模型或其他东西手动重新绑定UI以使其正常工作

谢谢,
Aadil.

如果您将
CsrID
定义为
可观察的
剔除将自动更新UI。在此情况下,您必须将计算结果修改为:

self.FVL = ko.computed(function () {
    return ko.utils.arrayFilter(self.ActiveVisitsList(), function (o) {
        return o.CsrID() == 0;
    });
}, self);

self.MVL = ko.computed(function () {
    return ko.utils.arrayFilter(self.ActiveVisitsList(), function (o) {
        return o.CsrID() == self.Me().ID;
    });
}, self);

self.OVL = ko.computed(function ()
{
    return ko.utils.arrayFilter(self.ActiveVisitsList(), function (o) {
        return (o.CsrID() != self.Me().ID && o.CsrID != 0);
    });
}, self);