Knockout.js 是否将项目附加到淘汰数组?

Knockout.js 是否将项目附加到淘汰数组?,knockout.js,Knockout.js,我试图获取一个包含数组(不是observableArray,但可以在需要时更改它)的observableArray,并将相同类型的项附加到数组中,而无需执行foreach并通知订阅方每个新推送的项 在SO和github上,我尝试了一些不同的方法,但我尝试的方法似乎都不管用。我可以毫无问题地替换内容,只需添加我有问题的项即可 小提琴: 我也试过了,但没有用: self.colors.push.apply(self.colors,self.newColors); 任何帮助都将不胜感激 代码:

我试图获取一个包含数组(不是observableArray,但可以在需要时更改它)的observableArray,并将相同类型的项附加到数组中,而无需执行foreach并通知订阅方每个新推送的项

在SO和github上,我尝试了一些不同的方法,但我尝试的方法似乎都不管用。我可以毫无问题地替换内容,只需添加我有问题的项即可

小提琴:

我也试过了,但没有用:

 self.colors.push.apply(self.colors,self.newColors);
任何帮助都将不胜感激

代码:

var ViewModel = function () {
    this.self = this;
    self.index = ko.observable(0); // default
    self.newColor = ko.observable("purple"); // default
    self.newColors = ko.observable([{
        color: 'it'
    }, {
        color: 'is'
    }, {
        color: 'working'
    }]);
    self.colors = ko.observable([{
        color: 'red'
    }, {
        color: 'blue'
    }, {
        color: 'yellow'
    }]);
    self.addSome = function () {
        ko.utils.arrayPushAll(self.colors, self.newColors);
    };
    self.replace = function () {
        self.colors(self.newColors());
    };
};
ko.applyBindings(new ViewModel());
1) 您需要展开阵列,对其进行操作,然后将可观测值设置为更改后的阵列:

self.addSome = function () {
    self.newColors(ko.utils.arrayPushAll(self.colors(), self.newColors()));
};
2) 除非您的第二行代码输入错误,否则您无意中将
self
设置为全局,如果您最终使用嵌套的viewmodels,这将给您带来很多麻烦。

1)您需要打开阵列,对其进行操作,然后将可观测值设置为更改的阵列:

self.addSome = function () {
    self.newColors(ko.utils.arrayPushAll(self.colors(), self.newColors()));
};
2) 除非您的第二行代码输入错误,否则您无意中将
self
设置为全局,如果您最终使用嵌套的viewmodels,这将给您带来很多麻烦。

1)您需要打开阵列,对其进行操作,然后将可观测值设置为更改的阵列:

self.addSome = function () {
    self.newColors(ko.utils.arrayPushAll(self.colors(), self.newColors()));
};
2) 除非您的第二行代码输入错误,否则您无意中将
self
设置为全局,如果您最终使用嵌套的viewmodels,这将给您带来很多麻烦。

1)您需要打开阵列,对其进行操作,然后将可观测值设置为更改的阵列:

self.addSome = function () {
    self.newColors(ko.utils.arrayPushAll(self.colors(), self.newColors()));
};

2) 除非你的第二行代码是一个输入错误,否则你不小心就把
self
变成了一个全局的,如果你最终使用嵌套的视图模型,这会给你带来很多麻烦。

给你……你只需要摆弄你的数组,然后把组合的数组传递给你的观察对象


给你…只需要摆弄你的数组,然后把组合的数组传给你的可观察对象


给你…只需要摆弄你的数组,然后把组合的数组传给你的可观察对象


给你…只需要摆弄你的数组,然后把组合的数组传给你的可观察对象


实际上已经有一个全局的
self
,这就是为什么这个代码可以运行的原因。第2行在viewmodel上设置了一个
self
属性,其余属性在全局
self
上运行,这意味着所有属性实际上都是全局的。实际上已经有一个全局
self
,这就是为什么该代码可以运行的原因。第2行在viewmodel上设置了一个
self
属性,其余属性在全局
self
上运行,这意味着所有属性实际上都是全局的。实际上已经有一个全局
self
,这就是为什么该代码可以运行的原因。第2行在viewmodel上设置了一个
self
属性,其余属性在全局
self
上运行,这意味着所有属性实际上都是全局的。实际上已经有一个全局
self
,这就是为什么该代码可以运行的原因。第2行在viewmodel上设置了一个
self
属性,其余属性在全局
self
上操作,这意味着所有属性实际上都是全局的。