1

ノックアウト JS の foreach エイリアスは、ページの途中にあるノックアウト JSのドキュメントで説明されているように機能しません。

Note 3: Using “as” to give an alias to “foreach” items

エラーを示す単純なjsFiddleを次に示します。コンソールには、ノックアウトjsの例に従っていますが、エイリアスが定義されていないと表示されます...

HTML

<h3>This works</h3>
<ul data-bind="foreach: people">
    <li>
        <span data-bind="text: $data.name"></span> 
        <span data-bind="text: $data.age"></span>
    </li>
</ul>

<h3>This doesn't work</h3>
<ul data-bind="foreach: { data: people, as: 'person' }">
    <li>
        <span data-bind="text: person.name"></span> 
        <span data-bind="text: person.age"></span>
    </li>
</ul>​

JS

var data = [
    { name: 'Bob', age: 35 },
    { name: 'Sue', age: 24 },
    { name: 'Rick', age: 57 }
];

var model = function( data ){
    this.people = ko.observableArray( data );
}
ko.applyBindings( new model( data ) );​

私は例を理解していないだけで、何か間違ったことをしていますか? それは起こることが知られています、笑...

4

1 に答える 1

7

ノックアウト 2.2.0 にアップグレードすると動作します。ここでフィドルをアップグレードしました。

バインディングは問題ありません。そのままにしておきます。

<h3>This works</h3>
<ul data-bind="foreach: people">
    <li>
        <span data-bind="text: $data.name"></span> 
        <span data-bind="text: $data.age"></span>
    </li>
</ul>

<h3>This doesn't work</h3>
<ul data-bind="foreach: { data: people, as: 'person' }">
    <li>
        <span data-bind="text: person.name"></span> 
        <span data-bind="text: person.age"></span>
    </li>
</ul>​
于 2012-11-01T07:41:09.263 に答える