【发布时间】:2014-01-07 22:44:06
【问题描述】:
我是 Knockoutjs 的新手,我正在尝试完成两件事:
A.如果 ul#TrueList 为空或 ul#FalseList 相应地为空,则隐藏/删除 #TrueListSection 或 #FalseListSection
B.在每个 li 中打印出 $index
C.是否可以在每个 li 中使用 $index 获取键值
<li>0 - hasCar</li>
<li>2 - hasTruck</li>
D.如果您知道更好的解决方法,我也将不胜感激,例如,不要在下面做,而是做其他事情(不改变我的视图模型)
foreach: [data.hasCar, data.HasPlain, data.hasTruck, data.Bike]
这是我的视图模型
var ViewModel = function() {
var self = this;
this.data = {
hasCar: true,
hasPlain: false,
hasTruck: true,
hasBike: false
};
};
这是我的 HTML:
<div id="TrueListSection">
<h2><b>Has</b></h2>
<ul id="TrueList" data-bind="foreach: [data.hasCar, data.HasPlain, data.hasTruck, data.Bike]">
<!-- ko if: $data -->
<li data-bind="text: $index"></li>
<!-- /ko -->
</ul>
</div>
<hr/>
<div id="FalseListSection">
<h2><b>Does Not Have</b></h2>
<ul id="FalseList" data-bind="foreach: [data.hasCar, data.HasPlain, data.hasTruck, data.Bike]">
<!-- ko ifnot: $data -->
<li data-bind="text: $index"></li>
<!-- /ko -->
</ul>
</div>
它当前抛出以下错误:
Uncaught Error: Unable to parse bindings.
Message: ReferenceError: $index is not defined;
Bindings value: text: $index
这是我的 JSFiddle:http://jsfiddle.net/tuJtF/3/
非常感谢您。
【问题讨论】:
-
你的小提琴指向完全不同的代码?
-
你用的是什么浏览器?
标签: knockout.js