我正在使用带有 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 });
});
}
};