0

如何使用 knockoutjs 调试选择值?我的尝试data-bind="change: function(){debugger}似乎没有奏效。

<p data-bind="visible: $data[$item.settings.name]['navigation_type']() == 0" >
  Link to Screen:<br/><select name="screen" data-bind="change: function(){debugger}, options: $item.element().screen.flow.navigable_screens, optionsText: function(item) { return item.attributes.name();}, optionsValue: 'permanent_id', value: $data[$item.settings.name].permanent_id"></select>
</p>
4

2 回答 2

2

我在调试 KnockoutJS 使用的内联值绑定时遇到了类似的问题。在我最近的项目中,我实现了一个松散的绑定模式,如下所述:

http://addyosmani.com/blog/understanding-mvvm-a-guide-for-javascript-developers/

您可以在 JS 中声明所有绑定,从而调试它们。然后,您可以在 html 中使用自定义 data- 属性引用它们。

于 2012-04-20T18:54:31.713 回答
1

不幸的是,淘汰赛并不能像您尝试使用它的方式那样工作。我从这段代码中假设:data-bind="change:您正在尝试绑定到 jquery 更改事件?如果是这样,请在此处查看选择列表的工作方式:

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

和这里:

http://knockoutjs.com/examples/simpleList.html

Knockout 比 jQuery 优雅得多,但遵循 MVVM 模式而不是使用 jQuery 事件。我建议对 MVVM 模式有一个高层次的理解,同时学习http://learn.knockoutjs.com/上的所有教程

于 2012-04-20T18:55:26.693 回答