更改淘汰赛绑定的应用顺序

2024-02-05

我正在创建一个 Knockout 绑定,它将作为 jQuery 小部件的包装器。该小部件将事件处理程序应用于子元素。不幸的是,小部件的事件处理直接应用于子元素,而不是委托。问题是我有一个foreach绑定在同一元素上,但我需要应用自定义绑定after the foreach应用绑定。

显然,正确的做法是修复 jQuery 插件,但目前这不是一个选择。我想知道是否有适合我的好的解决方法。例如,有没有办法执行以下操作?

  1. 检测是否已应用特定绑定
  2. 影响绑定应用程序的顺序
  3. 安全地强制进行另一次绑定

Update:

我应该提到的一个方面是,这种习俗和foreach绑定驻留在模板中。因此,直接修改 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']
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改淘汰赛绑定的应用顺序 的相关文章

随机推荐