0

これがです。
できる限り簡略化したのですが、どこが間違っているのかわかりません。
私を助けてください ))

PSスタックオーバーフローには、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 に答える