Knockout.js 每个罐的淘汰赛';在if之后看不到$index
我有这样的代码:Knockout.js 每个罐的淘汰赛';在if之后看不到$index,knockout.js,Knockout.js,我有这样的代码: <!-- ko foreach: Items --> <!-- ko if: $index() % 3 == 0 --> <div class="row"> <h1 data-bind="text: $index()"></h1> <!-- /ko -->
<!-- ko foreach: Items -->
<!-- ko if: $index() % 3 == 0 -->
<div class="row">
<h1 data-bind="text: $index()"></h1>
<!-- /ko -->
<div class="col-md-4 item">
<h1 data-bind="text: $index()"></h1>
</div>
<!-- ko if: $index() % 3 == 2 -->
</div>
<!-- /ko -->
<!-- /ko-->
我只想在每个行中包含三个项目。但
$index
值仅在第一个if
中可见。我不明白为什么。有人能帮忙吗?Knockout并不一定要在模板中运行,而是从标记中声明性地构建DOM。因此,单独为开始/结束标记使用ko if
虚拟绑定将不起作用
同样,您不能在html中执行此操作:
某些具有锯齿形开始/结束标记的文本。
将strong
和/strong
替换为ko if
和/ko if
,你会感觉到为什么这样做效果不好
你需要找到另一种完全符合你意愿的方式。这里有一个:
函数Vm(){
var self=这个;
自身项目=可观察到的ko值([1,2,3,4,5,6,7]);
self.GroupedItems=ko.computed(函数(){
var a=self.Items(),数组=[],大小=3;
而(a.length>0)数组。push(a.splice(0,size));
返回阵列;
});
}
应用绑定(新Vm())代码>
.row{display:block;}
.col-md-4{显示:内联块;填充:5px;背景:银色;}
Knockout不会强制在模板中运行,而是以声明方式从标记构建DOM。因此,单独为开始/结束标记使用ko if
虚拟绑定将不起作用
同样,您不能在html中执行此操作:
某些具有锯齿形开始/结束标记的文本。
将strong
和/strong
替换为ko if
和/ko if
,你会感觉到为什么这样做效果不好
你需要找到另一种完全符合你意愿的方式。这里有一个:
函数Vm(){
var self=这个;
自身项目=可观察到的ko值([1,2,3,4,5,6,7]);
self.GroupedItems=ko.computed(函数(){
var a=self.Items(),数组=[],大小=3;
而(a.length>0)数组。push(a.splice(0,size));
返回阵列;
});
}
应用绑定(新Vm())代码>
.row{display:block;}
.col-md-4{显示:内联块;填充:5px;背景:银色;}
如果仅关闭
标签,则第二个是否有效?只有第一个标签有效。在第一次
之后不再工作$index
是您的第二次如果
仅关闭
标签?只有第一次工作。第一次
之后不再工作$index