0

この基本的なノックアウト スクリプトをセットアップしました (まだ学習中)

$.getJSON(clientUrl + "/list/" + 1, function (data) {

var viewModel = {
    clients: ko.observableArray(data)
};

ko.applyBindings(viewModel);
});

最初の引数「lucidServer.getClients(1)」は、次の ajax リクエストを呼び出します。

var getClients = function (id) {
    return $.ajax(clientUrl + "/list/" + id)
};

今、私はjsonを取り戻していますが、テンプレートを正しくバインドしていないようです. これがjsonです:

0: {iD:1, userId:1, name:CompanySoft, LLC.,…}
1: {iD:2, userId:1, name:Widget Factory,…}
2: {iD:3, userId:1, name:Jim's Consulting,…}

テンプレートは次のとおりです。

<div id="clientListOutput">
            <ul "template: { foreach: clients }">
                <li><span data-bind"text: name"></span></li>
            </ul>
        </div>
4

1 に答える 1

1

マークアップに多くのタイプミスがあります。

HTML は次のようになります。

  <div id="clientListOutput">
            <ul data-bind="foreach: clients">
                <li><span data-bind="text: name"></span></li>
            </ul>
  </div>

タグ内にマークアップがあるため、バインディングulを使用する必要はありません。templatea を使用するだけでforeach、Knockout は各クライアントを反復処理し、それぞれに対して をレンダリングしますli

ここに実用的なフィドルがあります:http://jsfiddle.net/jearles/6XhM4/

于 2012-10-27T16:21:29.757 に答える