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') –