knockout.js - knockoutjs - 加载时触发的参数绑定(bind)

标签 knockout.js

最近我做了很多knockoutjs,我遇到了一个奇怪的情况。

正如你在这个 fiddle 中看到的那样 http://jsfiddle.net/hqXjv/当您设置与 click: testMethod 的绑定(bind)时,单击按钮时会触发该操作。

正如你在这个 fiddle 中看到的那样 http://jsfiddle.net/kxTzM/当您将绑定(bind)设置为 click: testMethod('hi') 时,单击按钮和页面加载时都会触发该操作(我猜是在 applyBindings 上)

重现问题不需要参数,如果您将绑定(bind)更改为第一个 fiddle 中的 click: testMethod(),您会看到它在页面加载时触发。

虽然,是的,我可以向元素添加另一个属性并尝试将其用作参数,但我的问题是,是否有一种方法可以将参数传递给 knockoutjs 绑定(bind)而不触发它们加载。如果这是一个错误,那就这样吧,但我只是想知道一种避免它的方法。

最佳答案

我认为此 knockout 页面上的“注释 2”说明了一切:

http://knockoutjs.com/documentation/click-binding.html

您可以通过使用以下方法来避免该问题:

匿名函数:

<button data-bind="click: function(data, event) { myFunction(data, event, 'param1', 'param2') }">Click me</button>

...或...

绑定(bind)方法:

<button data-bind="click: myFunction.bind($data, 'param1', 'param2')">Click me</button>

关于knockout.js - knockoutjs - 加载时触发的参数绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9891282/

相关文章:

knockout.js - KnockoutJS - 嵌套数据,加载子项

javascript - 是否可以让 knockoutjs 更新 'initialdata' 对象?

css - knockout 每个 css 多个类 $data

asp.net-mvc - Knockout.js 和复选框列表 : post to mvc controller

javascript - 循环遍历可观察的 knockout 属性数组

jquery - Knockout.js 和 jQuery 有什么区别

jquery - Knockoutjs 与 jQuery UI 可排序

javascript - html表格,通过按键选择行

knockout.js - 升级到 0.9.5 后修复 knockout typescript 编译器错误的正确方法

validation - parsley.js 可以与 knockout.js 一起使用吗?