0

これは非常に単純な例です。配列を持つ基本的な JavaScript オブジェクトがあり、配列を監視可能にするためにノックアウト マッピングを使用しています。

しかし、バインディングを適用すると、未定義になるだけです。

任意のアイデア なぜ?

HTML

<div data-bind="with: Data">

    <div class="tab-pane active" id="studydirections">
        <div data-bind="template: { name: studydirectionstemplate, foreach: studydirections }">
        </div>
    </div>

</div>

<script id="studydirectionstemplate" type="text/html">
    <div> <span data-bind="text: Name"> </span> </div> 
</script>​

JavaScript

var viewModel = {};

var data = {
    studydirections: [{
        RecId: 299,
        ColtechCode: 75,
        Name: "FARM",
        Description: "FARMING"},
    {
        RecId: 306,
        ColtechCode: 12,
        Name: "BACC",
        Description: "ACCOUNTING"},
    {
        RecId: 334,
        ColtechCode: 11,
        Name: "BMAN",
        Description: "BUSINESS MANAGEMENT"
    }
]};

viewModel.Data = ko.mapping.fromJS(data);

ko.applyBindings(viewModel);​

結果は

undefinedundefinedundefined

問題を説明するためのフィドルへのリンクを次に示します

http://jsfiddle.net/armandvdwalt/3Q267/

4

1 に答える 1

3

変更するだけで、テンプレート名を一重引用符で囲みます。

<div data-bind="template: { name: 'studydirectionstemplate', foreach: studydirections }">

更新されたjsFiddleを確認してください

于 2012-10-19T07:12:48.763 に答える