调试Knockout选择值

时间:2012-04-20 18:36:32

标签: debugging select knockout.js

如何使用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>

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分: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/

的所有教程。