我尝试使用脚本应用绑定,如下面的代码:
<div data-bind="custom: {}">
<div class="list">
<span data-bind="text: text, click: doSomething"></span> >
</div>
</div>
ko.bindingHandlers.custom = {
init: function (ele) {
var list = ko.observableArray([]),
ee = $(ele).find('.list')[0]
... code / event / callback / trigger to keep the list data change
ko.bindingHandlers.foreach.apply(this, ee, list) //this line not work
}
}
类似于:
<div data-bind="custom: {}"> //tested and confirm work
<div class="list" data-bind="foreach: ko.observableArray([ { id: 'a', text: 'aa' } ])">
<span data-bind="text: text, click: doSomething"></span> >
</div>
</div>
我的问题是这个
有什么问题ko.bindingHandlers.foreach.apply(this, ee, list)
尝试fiddle
答案 0 :(得分:0)
您需要使用call
而不是apply
; call
获取传递给函数的上下文和任意数量的参数,而apply
获取上下文和单个数组参数,其元素作为参数传递给函数。