0

ノックアウトjsを使用して選択値をデバッグするにはどうすればよいですか? 使用しようとしても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

ノックアウトはjQueryよりもはるかに洗練されていますが、jQueryイベントを使用する代わりにMVVMパターンに従います。http://learn.knockoutjs.com/にあるすべてのチュートリアルを実行するとともに、MVVMパターンを高度に理解することをお勧めします。

于 2012-04-20T18:55:26.693 に答える