我无法理解映射如何与knockoutjs一起使用。
由头:
我有一个返回JSON的API
我想将JSON映射到我视图中的列表
的javascript:
var data = JSON.stringify([
{
"text": "this be some text"
},
{
"text": "some more text here"
}
]);
var viewModel = ko.mapping.fromJSON(data);
var updateData = function(){
var newData = JSON.stringify([
{
"text": "this be some asdfasdfasdf"
},
{
"text": "some more asdfasdfdfdf here"
}
]);
ko.mapping.fromJSON(newData, viewModel);
}
ko.applyBindings(viewModel);
data和newData的格式与我从API调用获取数据的格式相同。 (只是对象数组)
如何输出该数据?
<ul data-bind="foreach: whatgoeshere?">
<li data-bind="text: text"></li>
</ul>
感谢您向我解释这个魔法是如何运作的;) 祝你有个美好的一天
答案 0 :(得分:0)
首先你应该使用fromJS而不是fromJSON,因为最后一个需要一个包含json的字符串。
另一件事是你应该修改你的viewmodel:
{ arr: [ { name:'text' }, ... ] }
在你的foreach绑定中键入arr。
如果您不想修改模型,那么您可以将$ root传递给指向ko.applyBindings中使用的模型的foreach