2013-03-26 84 views
0

我想一個標籤動態地添加到Wijmo卡口與淘汰賽,但我得到一個異常後,我申請我結合與Wijmo

addSingleExecution: (execution) -> 
     tabName = "#tabs-#{@tabCounter}" 
     tabs = $(@targetDomElement).wijtabs(
     tabTemplate: '<li><a href="#{href}">#{label}</a> <span class="ui-icon ui-icon-close">Remove Tab</span></li>' 
     add: (event,ui) -> 
      $(ui.panel).append('<div data-bind="template: { name: singleExecutionTemplate }"/>') 
      $(ui.tab).siblings('span.ui-icon-close').on('click', null,self, (event)-> 
      index = $('li', tabs).index($(this).parent()); 
      tabs.wijtabs('remove', index); 
     ) 
    ) 

     tabs.wijtabs('add',tabName,moment(execution.date()).format('DD MMM YYYY')) 
     ko.applyBindings(execution,$(tabName)[0]) 
     @tabCounter++ 

更確切地說淘汰賽模板我得到的例外是在3008線淘汰賽2.2.1調試:

Uncaught TypeError: Cannot read property 'length' of null 
// Loosely check result is an array of DOM nodes 
     if ((typeof renderedNodesArray.length != "number") || (renderedNodesArray.length > 0 && typeof renderedNodesArray[0].nodeType != "number")) 
Uncaught TypeError: Cannot read property 'length' of null 
      throw new Error("Template engine must return an array of DOM nodes"); 

這是我的模板

<script type="text/html" id="singleExecutionTemplate"> 
    <div> 
     <ul> 
      <li> 
       <h1>Step 1</h1> 
       Setup input data 
      </li> 
      <li> 
       <h1>Step 2</h1> 
       This is the second step. 
      </li> 
      <li> 
       <h1>Step 3</h1> 
       Analyse result and record 
      </li> 
     </ul> 
     <div> 
      Setup 
     </div> 
     <div> 
      Run 
     </div> 
     <div> 
      Analyse 
     </div> 
    </div> 
</script> 

爲什麼沒有呈現合作rrectly?

回答

3

我跑到這個我在那裏切換到在ASP.Net MVC中使用Razor模板。標記的差異很微妙,如果沒有Edmondo1984給出的答案,我將永遠不會發現我的錯誤。

是的,這必須是一個字符串屬性。用剃刀,我不得不改變我的樣子:

<div data-bind="template: { name: '@Model.TemplateName' }"></div> 

希望,這有助於。

1

問題帶有以下行:

$(ui.panel).append('<div data-bind="template: { name: singleExecutionTemplate }"/>') 

模板名稱應該是一個字符串屬性:

$(ui.panel).append('<div data-bind="template: { name: 'singleExecutionTemplate' }"/>') 

工作正常