Javascript 未调用淘汰自定义绑定
我有以下实施:Javascript 未调用淘汰自定义绑定,javascript,knockout.js,Javascript,Knockout.js,我有以下实施: define(["jquery", "knockout", "jqueryMobile"], function ($, ko) { ko.bindingHandlers.jqmRefreshList = { init: function(element, valueAccessor) { alert('I am fired!'); }, update: function (element, va
define(["jquery", "knockout", "jqueryMobile"], function ($, ko) {
ko.bindingHandlers.jqmRefreshList = {
init: function(element, valueAccessor) {
alert('I am fired!');
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
ko.utils.unwrapObservable(valueAccessor());
$(element).listview("refresh");
}
};
})
我是这样用的:
<div data-bind="foreach :lineItems , jqmRefreshList :true">
<div>Hello World</div>
</div>
问题是,即使lineItems包含10-15个条目,Hello World div也只打印一次。我检查了jqmRefreshList自定义绑定和init,并且从未启动更新函数。我做错了什么?您能在jsfiddle.net上用小提琴重现这个问题吗,或者它在那里工作吗?我很确定您的自定义绑定注册脚本没有被调用,并且控制台中有一个错误,比如jqmRefreshList没有定义。看到这个简单的没有定义,工作正常。请确保您的脚本与定义包含在正确的位置。谢谢!是否仍要将viewModel传递给自定义绑定,而不是在自定义绑定中创建viewModel。Uhmm。。我想我不明白这个问题。您可以使用数据绑定属性而不是示例中的true在标记中传递视图模型的属性。是的,当我传递lineItems而不是true时,我可以在jqmRefreshList中的何处访问该属性。