我可以在敲除数据绑定中调用JS脚本吗?

时间:2013-04-23 21:57:20

标签: data-binding knockout.js knockout-2.0

我需要在knockout data-bind中调用foreach循环中的JS函数。

我需要做类似的事情:

<div data-bind="foreach:items()">
.....
<script>
  jQuery(function () { jQuery('#myid').rateit({ value:$data.value }); })
</script>
....
</div>                              

显然它不起作用,我没有找到在脚本标签中应用数据绑定的方法......有没有办法做到这一点?

1 个答案:

答案 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);