0

我正在與淘汰賽js合作。現在我正在使用模板選項和本地json數據作爲數據源。在此我無法將數據綁定到模板內的節點。如何綁定JSON對象數據以敲除與模板選項的綁定?

請讓我下面的HTML代碼:

<div data-bind="template:{name:'treeTemplate',data:{da:Data}}"></div> 
    <script id="treeTemplate" type="text/html"> 
     <b data-bind="text:$data.text"></b> 

請讓我的腳本部分下面

var treeData = [ 
      { id: 1, text: "UK"}, 
      { id: 2, text: "Steven John" }, 
      { id: 3, text: "USA" }, 
      { id: 5, text: "Andrew" }, 
      { id: 4, text: "Angelica" } 
     ]; 


     window.viewModel = { 
      value: ko.observable(new Date(2015, 06, 15)), 
      Data: ko.observableArray(treeData) 
     }; 
     $(function() { 
      // declaration 
      ko.applyBindings(viewModel); 
     }); 

我已經更新的jsfiddle樣品也。請把下面的鏈接:

https://jsfiddle.net/38vnznht/

你能取悅任何人在this.Thanks任何幫助建議。

回答

1

你的第一個問題是在模板對象中使用數據。

data:{da:Data} 

通過你需要使用的foreach

foreach:data 

的是因爲這一點,你需要更新你的綁定

// from this 
<b data-bind="text:$data.text"></b> 

// to this 
<b data-bind="text: text"></b> 

這裏是一個工作示例一個數組迭代: https://jsfiddle.net/wqe3s1vs/3/

此外,有關使用「foreach」機智h一個命名模板: http://knockoutjs.com/documentation/template-binding.html#note-2-using-the-foreach-option-with-a-named-template

+0

感謝您的建議,現在我明白了 –

+1

沒問題!聽到那個消息很開心! –