使用映射插件计算的knockout.js值-在数组中
我有以下viewmodel(到目前为止): 我的数据如下所示:使用映射插件计算的knockout.js值-在数组中,knockout.js,mapping,viewmodel,Knockout.js,Mapping,Viewmodel,我有以下viewmodel(到目前为止): 我的数据如下所示: { "result": { "stuff": [ { "foo": "bar", "important": "computeme", }, { "foo": "baz", "important": "computemetoo", } ], "otherstuff": [ ] } }
{
"result": {
"stuff": [
{
"foo": "bar",
"important": "computeme",
},
{
"foo": "baz",
"important": "computemetoo",
}
],
"otherstuff": [
]
}
}
我看到的标准文档涵盖了嵌套关联数组,但没有太多关于规则数组的内容。在我的例子中,我想我需要一个函数来迭代“stuff”中的每个项并计算新值,例如,生成“computemefoo!”和“computemetofoo!”。我是个新手,对这一次有点迷茫
jsfiddle:
基本模型位于路径/2/您可以通过增加/3/、/4/等来查看我正在尝试的内容。如果要更新值,您只需向viewmodel添加一个函数即可 比如:
self.update = function (x){
return x() + 'foo!';
}
<ul data-bind="foreach: result.stuff">
<li data-bind="text: $root.update(important)"></li>
</ul>
在HTML中,您可以使用$root
调用viewmodel的根。这将导致如下结果:
self.update = function (x){
return x() + 'foo!';
}
<ul data-bind="foreach: result.stuff">
<li data-bind="text: $root.update(important)"></li>
</ul>
根据要求添加到帖子中-这是一个好主意。我觉得我把事情弄得太复杂了。