我如何在特定索引处的knockout数组中插入元素

rit*_*tzy 5 ko.observablearray knockout.js

我如何在特定索引处的knockout数组中插入元素

我知道我们必须使用切片和推送,但最好的方法是什么以及如何在可观察数组中的特定位置插入新元素

Mat*_*and 6

使用splice.该文档是不会在这个真正清楚(我不得不仔细检查它自己),但你可以使用这个就像常规的JavaScript .splice插入元素和删除它们.例如:

var vm = {
    array : ko.observableArray(["foo","bar"])
};

ko.applyBindings(vm);

function Add() {
    vm.array.splice(1,0,"ra");    // at index 1 - remove 0 elements and add "ra"
}

Add();   // "ra" gets inserted between "foo" and "bar"
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/aL4D6/