【问题标题】:knockout mapping + add to observable array淘汰赛映射 + 添加到可观察数组
【发布时间】:2012-12-04 21:59:37
【问题描述】:

小提琴可以在here找到。

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

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

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

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

所以我的问题是向数组添加项目的正确方法是什么,还是我没有正确构建 href attr?

【问题讨论】:

    标签: knockout.js knockout-mapping-plugin ko.observablearray


    【解决方案1】:

    您似乎正在尝试推送一个普通对象(没有可观察对象)。您需要先构建它,或将其映射到可观察对象。

    self.Users.push(new User(data));
    

    self.Users.push(ko.mapping.fromJS(data, mapping));
    

    另一种选择是从表达式中删除()。但随后可观察到的ID-properties 会表现得很奇怪。

    【讨论】:

    • 完美!我不想删除 (),也不想为 self.Users.push(new User(data)) 行定义用户。因此,我将其更改为您的部分选项,并且效果很好。谢谢!
    猜你喜欢
    • 2012-09-08
    • 2017-08-11
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 2015-10-05
    • 2012-10-14
    相关资源
    最近更新 更多