Javascript 当子数组更新时,UI不会在敲除js中刷新

Javascript 当子数组更新时,UI不会在敲除js中刷新,javascript,arrays,knockout.js,Javascript,Arrays,Knockout.js,我正在做击倒js。我有一个可观察的数组对象,比如 视图模型(){ 在一些asycapi调用之后,我将像这样更新数组 self.myObservableArray().push({ "name" : "Some name", "childArray" : [] }); 在第二次AyncAPI调用之后,我必须循环响应,并在每个循环中在childArray中推送一个项 self.myObservableArray()[0]. childArray.push({ "ch

我正在做击倒js。我有一个可观察的数组对象,比如

视图模型(){

在一些asycapi调用之后,我将像这样更新数组

self.myObservableArray().push({
    "name" : "Some name",
    "childArray" : []
});
在第二次AyncAPI调用之后,我必须循环响应,并在每个循环中在childArray中推送一个项

self.myObservableArray()[0]. childArray.push({
        "childName" : "name " + $index
    })

但是,当我更新二级数组时,UI不会刷新。添加元素以便UI刷新的正确方法是什么,或者至少有一种方法可以触发表示父属性已更改的事件。

如果您希望在更改
childArray
时更新UI,那么它也需要是一个
可观察数组o我猜您也需要将
name
设置为可观察对象,因此最好将它们都绑定到单独的视图模型中,例如:

var childViewModel = function (name, items) {
   var self = this;
   self.name = ko.observable(name);
   self.childArray = ko.observableArray(items);
}

self.myObservableArray.push(new childViewMode("Some name", []));

我的回答是否有助于您解决问题?如果有,请在左侧的V符号上打勾,将我的回答标记为已接受。如果没有,请告诉我,我将尝试进一步帮助您解决问题。
var childViewModel = function (name, items) {
   var self = this;
   self.name = ko.observable(name);
   self.childArray = ko.observableArray(items);
}

self.myObservableArray.push(new childViewMode("Some name", []));