2013-08-01 28 views
1

我有以下一段代碼,它有一堆筆記,但我只想顯示這個div如果selectedNotes不爲null。我用了長度屬性,它工作正常。jsViews - 使用可見的數據鏈接屬性不能正常工作

<div id="notesContainer" data-link="visible{:selectedNotes.length != 0}"> 
     <ul id="notes"> 
     {^{if selectedNotes != null}} 
     {^{for selectedNotes}} 
      <li>{^{:Value}}</li> 
     {{/for}} 
     {{/if}} 
     </ul> 

     <p>There are <span data-link="{:selectedNotes.length}"></span> notes so far...</p> 

     <a id="addNote" data-toggle="modal" href="#addNoteModal" class="btn btn-primary">Add note</a> 

    </div> 

我的問題是不管selectedNotes對象是否設置了專區內的跨度顯示錯誤。錯誤是「data.selectedNotes爲null」。這是爲什麼?如果它在div內不應該通過不顯示該段來正確工作?

我已經把代碼在這個小提琴:http://jsfiddle.net/armydee/Z9wBJ/

回答

1

我已經更新您的jsfiddle:http://jsfiddle.net/Z9wBJ/1/

可見的結合只是CSS的「顯示」屬性設置爲「無」來隱藏DIV。但內容仍然呈現在DOM中。如果selectedNotes爲null,則嘗試測試selectedNodes.length將導致javascript錯誤。你可以簡單地包括空校驗:

"visible{:selectedNotes && selectedNotes.length != 0}">

和:

<span data-link="{:selectedNotes && selectedNotes.length}">

+0

優秀 - 感謝鮑里斯的快速反應。 –