2012-10-22 32 views
1

我有一個簡單的視圖模型中KO打算:數據綁定h1標籤沒有顯示出來(knockoutjs)

 function TemplateFile(name, fileName) { 
      var self = this; 
      self.name = name; 
      self.fileName = fileName; 
     } 

     var layoutViewModel = { 
      loggedInUser: ko.observable("user"), 
      templateFiles: ko.observableArray([ 
       // some initial entries... 
      ]), 
      contentHeading: ko.observable("Content"), 
      // some other things... 
     }; 

     $(function() { ko.applyBindings(layoutViewModel); }); 

而且數據在我_Layout.cshtml局部各種觀點的約束,他們大多數工作正常。除了這一個...

 <!-- Page content --> 
     <div class="container-fluid" 
      style="background-color: white; border-radius: 10px; margin: 20px; min-height: 400px; height: auto !important; height: 400px"> 
      <div class="row-fluid"> 
       <div class="span12"> 
        <h1 data-bind="text: contentHeading" style="color: darkgray;" /> 
       </div> 
      </div> 
      <div class="row-fluid"> 
       <div class="span12"> 
        @RenderBody() 
       </div> 
      </div> 
     </div> 

(忽略了內聯CSS,將盡快修復;))

多數民衆贊成被綁定到H1的「contentHeading」數據沒有顯示出來的。我試過幾件事情已經...

  • 交換了多數民衆贊成被綁定的數據:仍然沒有露面
  • 走動標籤頁面的不同部分:一些工作,一些隨機沒
  • 硬編碼的虛擬文本值:這確實顯示了

因此,考慮到這些結果,我想有可能是同一個問題,如何將一些DOM元素被加載,也許是因爲我使用Twitter Bootstrap?

我在這裏不知所措,似乎無法找到與其他人類似的問題。有什麼建議麼?

<ul class="dropdown-menu" data-bind="foreach: templateFiles"> 
    <li> 
     <a href="#" data-bind="attr: { title: fileName}" /> 
     <span data-bind="text: name" /> 
    </li> 
</ul> 
+1

我可以確認淘汰賽工程罰款與引導我自己使用它...但我不太確定爲什麼上面的代碼不工作它看起來對我好。它給出了任何錯誤。你能做一個小提琴嗎? –

+0

我之前沒有真正使用過jsFiddle,所以我只是拋出了我放在這裏的代碼...讓我知道如果這不是我應該做的! http://jsfiddle.net/mV6KQ/ – mshubert12

+0

我想代碼中的上下文有問題。你確定你沒有把H1綁定或綁定到foreach嗎? –

回答

0
<ul class="dropdown-menu" data-bind="foreach: templateFiles"> 
    <li> 
     <a href="#" data-bind="attr: { title: fileName}" /> 
     <span data-bind="text: name" /> 
    </li> 
</ul> 

這甚至沒有涉及到淘汰賽或引導。我只是有一個標籤不匹配。 D'哦。

關閉這個問題!感謝提示,尋找什麼:)