0

Я работаю с нокаутом js. Теперь я использую параметр шаблона и локальные данные json как datasource. В этом я не могу привязать данные к узлу внутри шаблона.Как связать данные объекта 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» wit h a именованный шаблон: http://knockoutjs.com/documentation/template-binding.html#note-2-using-the-foreach-option-with-a-named-template

+0

Спасибо за предложение сейчас я понял –

+1

без проблем! рад слышать это! –