淘汰赛和事件时间安排
Knockout and timing of events
>我有一个计算函数,可以通知按钮是否应该禁用。我也订阅了这个更新另一个可观察量的计算函数。更新此可观察量时,它将运行自定义绑定。
问题是 subscribe() 在按钮被禁用之前正在运行。我希望计算函数首先运行,然后启用/禁用按钮,最后运行订阅。
这可能吗?setTimeout() 不是一个好的选择。
this.enableButton = ko.computed(function() { return true or false });
this.enableButton.subscribe(function() { myself.triggerBinding(true) });
.html:
<button data-bind="enable: enableButton" />
如果我理解正确,我希望这有所帮助:
http://jsfiddle.net/UHgTS/1
var viewModel = {
buttonIsEnabled : ko.observable(true)
};
viewModel.enableButton = ko.computed({
read : function () {
log("read enableButton");
return this.buttonIsEnabled();
},
write : function (isEnabled) {
log("write enableButton");
this.buttonIsEnabled(isEnabled);
},
owner : viewModel
});
viewModel.otherObservable = ko.computed({
read : function(){
log("read otherObservable");
return this.buttonIsEnabled();
},
write : function () {
log("write otherObservable");
},
owner : viewModel
});
viewModel.otherObservable.subscribe(function(){
log("run subscription");
log("----------------");
});
function log(message){
$("#log").append(message + "'n");
}
ko.applyBindings(viewModel);
相关文章:
- 存在每个时间元素的javascript事件
- Javascript:如何在onChange事件期间更改日期时间值
- 事件时间戳谷歌分析
- 时间和事件嵌入声云
- 节点.js在一定时间后发出事件
- 在 Node.Js 脚本中使用 Javascript 计时器在特定时间触发事件
- HTML 5 音频 :是否有在更改缓冲持续时间时触发的事件
- 时间间隔的 JavaScript 事件侦听器
- 完整的日历错误时间在点击事件谷歌日历
- AngularJS:跟踪在Web应用程序中花费的时间,然后在特定时间触发事件
- 用于查找基于时间的事件的最佳Javascript算法
- 在一小段时间的按键事件后,在angular js中进行get调用
- Vanilla Js:在一个事件中开始一段时间的循环,然后用第二个事件打破它?('mouseover'启
- 作为自动化测试的一部分,监控特定的js事件以及执行它们所需的时间
- 如何从服务器倒计时并在一段时间后触发事件
- 将事件附加到启动日期时间选取器
- 如何在HTML视频达到特定时间标记时触发事件
- HTML 5 画布按键按下时间事件
- Javascript/jQuery时间事件侦听器
- Jquery时间事件监听器停止/启动