我需要在knockout data-bind中调用foreach循环中的JS函数。
我需要做类似的事情:
<div data-bind="foreach:items()">
.....
<script>
jQuery(function () { jQuery('#myid').rateit({ value:$data.value }); })
</script>
....
</div>
显然它不起作用,我没有找到在脚本标签中应用数据绑定的方法......有没有办法做到这一点?
答案 0 :(得分:1)
不,你不能。
如果您想为集合中的每个项目(或任何 observable)执行某些操作,您可以使用computed observable
。
这适用于您的场景:
ko.computed(function () {
var items = this.items();
for (var i = 0; i < items.length; i++) {
jQuery(function () { jQuery('#myid').rateit({ value: item[i].value }); })
}
}, viewModel);