jquery uiボタンでknockout.jsを使用しています。下のボタンにカスタムバインディングを作成しました。クリック項目のテキストを変更していますが、Ajax リクエストを送信する追加のクリックもあります。リクエストが完了したら、テキストを元のテキストに戻すのに最適なデザイン パターンは何ですか。手動で行うか、呼び出される要素をメソッドに渡すことができることはわかっていますが、より分離された方法があります。
<button type="submit" data-bind="button: { text: 'login', pressed: 'authenticating...' }, click: function() { site.ajaxRequest(); }"></button>
ko.bindingHandlers.button = {
init: function (element, valueAccessor) {
var binding = ko.utils.unwrapObservable(valueAccessor());
$(element).button({ label: binding.text }).click(function () {
$(this).button({ label: binding.pressed });
});
}
};