2012-10-31 5 views
0

knockoutjs foreach는 별칭으로 아래 반 페이지 아래로 knockoutjs docs 설명 작동하지 않습니다 작동하지 : 여기knockoutjs의 foreach는 별칭이

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

하면 오류를 보여주는 간단한 jsFiddle입니다. 콘솔 내가 knockoutjs 예를 따랐습니다 있지만 별명이

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));​ 

난 그냥 예제를 이해하고 일을하지 건가요 ...

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

을 정의되지 않은 것을 말한다 잘못된? 그것은 일이 일어난 것으로 알려져 있습니다 ...

답변

6

녹아웃 2.2.0으로 업그레이드하면 작동합니다. 업그레이드 된 바이올린 here.

귀하의 바인딩은 괜찮 -있는 그대로 그들을 떠나 :

<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>​