knockout mapping +添加到可观察数组

Col*_*lin 3 knockout-mapping-plugin ko.observablearray knockout.js

小提琴可以在这里找到.

我正在添加一个由它映射的可观察数组ko.mapping.fromJS().

在我看来,我正在使用数组上的属性构建一个URL attr: { href: '/Users/Summary?userId=' + ID() }.

如果我想在我正在使用的数组中添加一个项目self.Users.push().

如果我这样做,我会收到错误ID is not a function.

所以我的问题是将数据添加到数组的正确方法,还是我没有href正确构建attr?

Mar*_*rot 6

看起来你正试图推动一个普通的对象(没有可观察的对象).您需要先构建它,或将其映射到obsevables.

self.Users.push(new User(data));
Run Code Online (Sandbox Code Playgroud)

要么

self.Users.push(ko.mapping.fromJS(data, mapping));
Run Code Online (Sandbox Code Playgroud)

另一种选择是()从表达式中删除.但是,可观察的ID属性将会表现得很糟糕.