0

以下を実装するためにノックアウトのみを使用したい: - 「button1」がクリックされたときに入力フィールドを空白にし、「button2」がクリックされたときに値を表示したい。入力フィールドは、それぞれのオブザーバブルによってバインドされたデータです。したがって、observable を null にしてから、button2 がクリックされたときにそれらを表示する方法がわかりません。

コード:

var ViewModel = function() {
    var self = this;
    self.comment = ko.observable("hi there"); 
    self.message = ko.observable("hello"); 
}

vm = new ViewModel(); 
ko.applyBindings(vm);

私のアプローチ:

実装しようとしたがまったく機能しなかった2つの方法を次に示します。

myShow: function() { 
   comment = ko.observable(""); 
},

myHide: function() {
    message = ko.observable(""); 
},

どんな助けにも感謝します。

ありがとう。

4

1 に答える 1

2

値を一時的に保存したいだけですよね?このように、ビューモデルでプライベート変数を使用します。

var ViewModel = function() {
    var self = this;
    self.comment = ko.observable("");
    self.message = ko.observable("");

    var comment, message;
    self.store = function() {
        comment = self.comment();
        message = self.message();
        self.comment("");
        self.message("");
    };
    self.show = function() {
        self.comment(comment);
        self.message(message);
    };    
};

ここにフィドルがあります

于 2013-03-25T17:58:24.000 に答える