0

这是示例
我尽可能地简化了它,但我仍然无法理解我错在哪里。
请帮我 ))

PS 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();​
4

1 回答 1

2

看看这里,让你的代码更简单,更容易阅读:

http://jsfiddle.net/NpK3K/24/

问题是您将对象放入"FacebookContacts"属性而不是数组。因此,您应该"with"首先对根元素使用绑定扩展来更改嵌套元素的数据上下文。

希望能帮助到你。

于 2012-12-01T22:17:35.200 回答