0

ノックアウト.jsでajaxの成功/エラー後にタイムアウトのある更新メッセージを追加するにはどうすればよいですか?

私はこのようにすることができます:

var ViewModel = {
    var self = this;
    self.message = ko.observable("");
    self.setMessage = function(message, timeout){
        self.message(message);
        setTimeout(function(){
            self.message("");
        }, timeout);
    }
    .....
    $.ajax(url, {
        success: function(obj){
            self.setMessage(obj.message, 2000);
        }
    });
}

HTML:

<span data-bind='text: message()'></span>

しかし、私の Web アプリには ajax 呼び出しを含む ViewModel がたくさんあり、すべての ViewModel でこれを実行できるようにしたいのですが、コードをコピーして貼り付けるのは好きではありません。

ノックアウトを拡張して、単一のメソッドを追加し、それをすべてのビュー モデルにインポートできるようにするために助けが必要です。

4

2 に答える 2