我正在创建一个 Knockout 绑定(bind),它将作为 jQuery 小部件的包装器。此小部件将事件处理程序应用于子元素。不幸的是,小部件的事件处理直接应用于子元素,而不是委托(delegate)。问题是我有一个 foreach
绑定(bind)到同一个元素,但我需要在 foreach
之后应用自定义绑定(bind)应用绑定(bind)。
显然,正确的做法是修复 jQuery 插件,但目前这不是一个选项。我想知道是否有任何适合我的解决方法。例如,有没有办法执行以下任何操作?
更新:
我应该提到的一个方面是,这种习俗和
foreach
绑定(bind)驻留在模板中。因此,直接修改 DOM 的解决方案对我不起作用,因为它实际上会修改模板。
最佳答案
在您的 bindingHandler 上添加一个 after 属性,其中包含一组依赖项
ko.bindingHandlers.myHandler = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
// Actual code
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
// Actual code
},
after:['foreach']
};
关于knockout.js - 更改应用 Knockout 绑定(bind)的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025902/