jquery ui buttonでknockout.jsを使用しています。下にあるボタンにカスタムバインドを作成しました。私はクリック項目のテキストを変更していますが、ajaxリクエストを送信する追加のクリックもあります。要求が完了したら、テキストを元のテキストに戻すための最良のデザインパターンは何ですか。私はそれを手動で行うことも、メソッドに呼び出される要素を渡すことも知っていますが、より結合していない方法があります。jquery Button、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 });
});
}
};
意味があります。しかし、ページ上に複数のボタンがある場合は、各ボタンのアイテムをビューモデルに追加する必要があります。私はそれを行うことができると思うが、私はむしろ要素と静的UIを表示し続けるだろうが、それは私だけです。私はそれを試してみると、私はそれが好きかどうかを確認します。 –