3

これは単純なはずですが、確かに間違っています。

クリックイベントでko.observableテキストを更新するには? 「afterkeydown」または「keypress」を使用してこれを行うことができましたが、クリックイベントの場合はできませんでした。http://knockoutjs.com/documentation/value-binding.html

<span data-bind="text: Count"></span>
<button data-bind="click: update">Update</button>

 function MyViewModel() {
     var self = this;

     self.Count = ko.observable("0");

     self.update = function() {
         self.Count = ko.observable("1");
     }
 }

http://jsfiddle.net/EBsj5/

4

2 に答える 2

4

関数のように変更する必要があります。

self.update = function() {
    self.Count("1");
}

デモ: http://jsfiddle.net/EBsj5/1/

これについては、基本的なチュートリアルで説明されているので、いくつか見ることをお勧めします。

于 2013-09-08T14:07:15.790 に答える
2

Knockout observable の値を設定するときは、関数のような parans を使用して新しい値を渡す必要があります。

<span data-bind="text: Count"></span>
<button data-bind="click: update">Update</button>

 function MyViewModel() {
     var self = this;

     self.Count = ko.observable("0");

     self.update = function() {
         self.Count("1");
     }
 }

この場合、これによりオブザーバブルが「1」に更新されます。ko.observable() を再度呼び出す必要はありません。既にオブザーバブルを作成しているためです。セッター関数で値を「設定」しようとしているだけです。

于 2013-09-08T14:09:28.663 に答える