这是example。
我尽可能地简化了它,但我仍然无法理解我错在哪里
请帮帮我))
P.S stackoverflow需要一个代码,而不只是链接到jsfiddle,所以就是这样:
HTML:
<form action="" method="GET" data-bind="FacebookContacts">
<table class="importContacts table import">
<thead>
<tr>
<td></td>
<td>Photo</td>
<td>Name</td>
<td>Login</td>
</tr>
</thead>
<tbody data-bind="foreach: contacts">
<tr>
<td>
<span data-bind="text:FullName"></span>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</form>
的javascript:
var FacebookContactsViewModel = function () {
var _self = this;
_self.FacebookContacts = ko.observable();
_self.GetData = function() {
var localData=ko.mapping.fromJS(JSON.parse(contacts));
_self.FacebookContacts(localData);
ko.applyBindings(_self);
};
_self.GetData();
};
var contacts='{"contacts":[{"FullName":"Petr Perelygin"}]}';
var vm = new FacebookContactsViewModel();
答案 0 :(得分:2)
请看一下这里,让您的代码更简单易读:
问题在于您将对象放入"FacebookContacts"
属性而不是数组。因此,您应该在第一个位置使用"with"
绑定扩展来更改root元素的datacontext。
希望它有所帮助。