2012-06-18 6 views
-3

녹아웃 API를 배우기 시작했습니다. 나는이 간단한 코드를 작성했는데, 이는 매우 간단하지만 작동하지 않습니다. 밖으로배열 작업

<h4>People(<span data-bind="text: controls().length"> </span>)</h4> 
<ul data-bind="foreach:controls"> 
    <li> 
     Id: <span data-bind="text: controls.id"></span> 
    </li> 
</ul> 
<button data-bind="click:$root.addControls">Add</button> 
var Form = function(){ 
    this.controls = [{id:"T1",type:"TextInput"}, 
            {id:"T2",type:"TextInput"}]; 
    this.addControls = function(){ 
    this.controls.push({id:"",type:""})   
    }; 

} 

var Controls = function(id,type){ 
    this.id = id; 
    this.type = type;    

} 


ko.applyBindings(new Form()); 

JS Fiddle

+5

"작동하지 않음"을 정의하십시오. – ThiefMaster

+0

예상되는 결과가 나타나지 않습니다. 당신은 코드 – Rakesh

+2

을 확인할 수 있습니다. 코드에는 객체 리터럴에서':'대신'='를 사용하고 객체 리터럴 주위에서'{}'를 잊어 버린 것과 같은 구문 오류가 있습니다. – ThiefMaster

답변

0

확인이 바이올린 제발 도와주세요 : http://jsfiddle.net/ingro/fTptZ/38/

내가 온라인으로 작동하지 않는 이유를 모르겠어요하지만 내가 로컬로 만든 테스트 페이지에 괜찮아요 . 당신은 당신이 접두어로 배열을 넣어 필요가 없습니다 결박는 "foreach는"을 사용할 때

self.controls = ko.observableArray([{id:"T1",type:"TextInput"}, {id:"T2",type:"TextInput"}]); 
  • : 당신의 실수 어쨌든

    일부 :

    1. 컨트롤은 observableArray해야 :

      Id:<span data-bind="text: id"></span> 
      
    2. 넉 아웃의 이전 버전을 사용하면 2.1.0이 나옵니다.

    희망이 도움이 될 수 있습니다!