Knockout:使用多个键进行映射

时间:2013-07-11 16:50:22

标签: javascript knockout.js knockout-mapping-plugin

是否可以使用ko.mapping插件检查多个密钥?像这样......

var mapping = {
     key: function(data) {
         return ko.unwrap(data.id) && ko.unwrap(data.name)
     }
}

我希望Mapping Plugin只在尚未使用idname的组合时才向observableArray添加新项目。

1 个答案:

答案 0 :(得分:4)

我相信。只需将它们连接成一个字符串并返回它。

var mapping = {
     key: function(data) {
         return ko.unwrap(data.id) + '_' + ko.unwrap(data.name);
     }
}

下划线定界符(或管道或您选择使用的任何内容)应该可以帮助解决任何关键冲突,例如id ='12'name ='times'的另一个对象,另一个id ='1'且name ='2times'