ビューモデルの外で多くの処理を行う外部オブジェクトがあります。トリガーを使用して、このオブジェクトからデータを送信できるようにしたいと考えています。
を使用してプレーンオブジェクトからサブスクライバーにデータを渡すことは可能valueHasMutated
ですか?
function obj(trigger) {
var self = this;
self.notify = function (value) {
trigger.call(undefined,value);
};
}
function vm() {
var self = this;
self.flag = ko.observable();
self.myobj = new obj(self.flag.valueHasMutated);
self.flag.subscribe(function(value) {
console.debug("Caught trigger with value " + value);
});
}
ko.applyBindings(new vm());
// trigger
ko.dataFor(document.body).myobj.notify("Working");
トリガーはポップしていますが、取得している値は ですundefined
。
ここで JSBINの例を設定します
これについての助けに感謝します。
編集ソースを
見ると、「新しい値」を取得していることがわかりますvalueHasMutated
が、それでも機能しません。