0
的小提琴是在這裏:http://jsfiddle.net/7kv0d3t6/1/古怪的行爲
注意,我故意裝兩個獨立的可觀察到的數組:programmeList & programmeList2。
我不明白爲什麼映射版本不起作用:
ko.mapping.fromJS(data, {}, ViewModel.programmeList);
而且非常奇怪的事情是,HTML數據綁定跨度長顯示:
<span data-bind="text: programmeList().length"></span>
...節目「5」,但是沒有在html中顯示任何內容(至少應該顯示錶格標題,對嗎?)或在console.log輸出中顯示。
如果我更改了html代碼以使用programmeList2,它確實顯示了表格,但我寧願使用映射插件的方式進行操作,我也想了解它在我的小提琴中顯示的異常情況!
哦,我的上帝,我真是個白癡!所有這一次它一直在工作,但我已經重新分配了該死的價值!看上去很好......並且很抱歉浪費大家的時間! – TheMook
許多js linters對這些類型的錯誤都有警告(即在if塊中單個'=')。將邏輯移至您的視圖模型通常有助於避免類似這樣的錯字。例如:'this.hasProgrammes = ko.pureComputed(()=> this.programmeList()。length> 0)' – user3297291
有人建議先寫常量,這樣如果你缺少一個等號('if :0 = programmeList()。length') –