如何删除可观察数组中红色水果数组中的项目 - knockout.js

How to remove items in the red fruits array inside observable arrays - knockout.js

我有一个用于存储数组的可观察数组。我需要使用 knockout 来删除数组中的一个项目。我需要从我的可观察数组中的 'fruits' 数组中的 'redFruits' 数组中删除一个项目。

这里有一些代码可以帮助说明我的问题

function viewModel() {
    var self = this;

    self.array = ko.observableArray([
        {
            title: "fruits",
            description: "array about fruits",
            redFruits: ["cherry", "strawberry", "raspberry"]
        }
    ])
}
var test = new viewModel();
ko.applyBindings(test);

最终输出将是 redFruits 数组中的一项被删除

您的示例使用 $.each(self.contacts(), function() { this.phones.remove(phone) }) 这可以用香草代替 javascript

self.contacts().forEach(function (contact) {
 contact.phones.remove(phone);
});

http://jsfiddle.net/4arkv8pc/

或者像这样 for-loop

var contacts = self.contacts();
for (var i = 0; i < contacts.length; i++) {
 var contact = contacts[i];
 contact.phones.remove(phone);
}