javascript - 如何调用knockout自定义绑定(bind)更新函数

标签 javascript jquery knockout.js

我正在使用 knockout.js。我创建了一个自定义绑定(bind)并将其应用于 anchor 标记,如下所示:

<a data-bind="custom : { param1 : 'text', param2: 'text' }">delete</a>

ko.bindingHandlers.custom = {
   init: function (element, valueAccessor, allBindingsAccessor) {
      alert("init");
   },
   update: function (element, valueAccessor, allBindingsAccessor) {
      alert("update");
   }
}

当我第一次加载页面时,initupdate 函数都会被调用。但是当我点击删除链接时,update 函数没有被调用。每当我点击删除链接时,我都想调用自定义绑定(bind)的更新功能。我在这里做错了什么?

最佳答案

更新函数仅在 knockout 应用绑定(bind)时以及任何引用的 observable 发生更改时才被调用。

您的更新函数不引用任何可观察对象,因此在初始调用之后不会再次调用。

如果你希望你的函数在你点击它时被调用,你应该使用 click而是绑定(bind)。

关于javascript - 如何调用knockout自定义绑定(bind)更新函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225886/

相关文章:

javascript - 让一个div在向上滚动时回到原来的位置

javascript - 在 knockout 的 foreach 循环中使用 $data 作为条件?

javascript - 使用 window.location 在 URL 中添加 #hashtag

javascript - 验证方法不会在第一次单击按钮时触发

javascript - 使用新的 retrieveMultipleRecords 从 fetchXml 获取结果(客户端 API 引用)

javascript - 为一个类禁用 Bootstrap 切换折叠并为另一个类启用它

Knockout.js 在字符串列表上使用 `value:` 绑定(bind)中的 `foreach` - 不更新

knockout.js - 如果在 <tr> 和 </tr> 周围,knockoutjs 无容器

javascript - 为什么 "HTML file select"会改变所选文件的顺序并按字母顺序对它们进行排序?

javascript - 使用文件的数据库路径打印页面