私は少しjavascriptを持っています:
function ViewModel() {
var self = this;
self.highlight = ko.observable(true);
}
ko.applyBindings(new ViewModel());
そしてそれを補完するhtml:
<div data-bind="css: { highlighted: highlight }, click: highlight( !highlight() )">
random string
</div>
私が達成しようとしていること:
- cssクラス'highlighted'は、varhighlightがtrueの場合にのみアクティブ化されます
- divをクリックすると、varhighlightのbool値が切り替わります。
- 希望する結果:divをクリックしてcssクラスをアクティブ化/非アクティブ化します
私が得ているもの:
- ハイライトの初期値はですが、cssクラスは非アクティブ化さ
true
れ始めます(初期値をに変更するfalse
と、cssクラスがアクティブ化されます。これは、まだ何もクリックしていないときに、何らかの方法でクリックバインドをトリガーしたようです)。 - divのcssクラスはクリックしても切り替わりません
ViewModel内に対応する新しいクリック関数を作成したくありません。可能であれば、データバインド内にインラインでのみ配置できるコードを探しています。
JSFiddleのコードは次のとおりです:http://jsfiddle.net/4wt4x/1/
誰かが何が起こっているのか、私が間違っていることを説明できますか?