2011-05-16 4 views
2

녹아웃으로 시작하고 있습니다. valuesTemplate에서 바인딩을 설정하는 방법을 알 수 없습니다. 이터레이터의 현재 값의 이름은 무엇입니까? JQuery와 템플릿의 내부녹아웃의 현재 값 이름

<div id="knock"> 
    <p>Name: <input data-bind="value: Name" /></p> 
    <table> 
     <thead><tr><td>Value</td></tr></thead> 
      <tbody data-bind="template: {name: 'valuesTemplate', foreach: Values}" /> 
    </table> 

    <script type="text/html" id="valuesTemplate"> 
     <tr><td><input data-bind="value: value" /></td></tr> 
    </script> 
</div> 

<script type="text/javascript"> 
    var data = {"Name":"Fish","Values":["Cod","Salmon","Perch","Glish"],"Id":"lookups/1"}; 
    var viewModel = ko.mapping.fromJS(data); 
    ko.applyBindings(viewModel); 
</script> 

답변

5

, 당신은 $data 또는 $item.data을 사용하여 현재 컨텍스트에 액세스과 같이 할 수 있습니다

<script type="text/html" id="valuesTemplate"> 
    <tr><td><input data-bind="value: $data" /></td></tr> 
</script> 

을하지만, 당신은 관찰 가능한을 사용하는 경우, 당신이 당신의 값을 원하는거야 단순히 문자열이 아닌 객체를 포함하는 배열.

+0

완벽하게 작동했습니다. 감사합니다. –

+0

observables를 사용하는 경우 {{name : 'value'}처럼) 값 배열에 객체가 포함되기를 원할 것입니다. 배열의 개별 항목 값을 관찰 가능하게 만들 수 없습니다. –

+0

나는 그것을 전환했다. 팁 고마워. –