ko.applyBindings的成功处理程序
Success handler for ko.applyBindings
我有一段代码,它将在applyBindings成功完成后执行。
var vmObject = new myViewModel();
ko.applyBindings(vmObject, document.getElementById('page1'));
dependantMethod();
由于异步执行,有时dependentMethod()执行得更快。有没有办法知道ko.applyBindings是否已经成功执行,这样我就可以放dependentMethod();成功处理程序内部?
谢谢。
如果没有看到您的视图模型,很难完全回答,但您可能需要考虑在视图模型中使用淘汰订阅功能。
如果你的视图模型中有一个可观察或可观察的数组,你可以订阅它的更改,并验证它是否具有预期值,然后从那里调用你的依赖函数。
var myViewModel = function () {
var self = this;
self.myArray = ko.observableArray([]);
// some code that populates the array
var subscription = self.myArray.subscribe(function (arr) {
// some check on the observable
if (arr.length > 0) {
self.dependantMethod();
}
});
self.dependantMethod = function () {
// execute your code
// posibly dispose of the subscription if you don't want
// it called multiple times
subscription.dispose();
};
}
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- Adobe Edge:动画完成时添加onComplete处理程序
- 是否可以从输入处理程序中确定输入的类型
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 平均值.on(事件[,选择器][,数据],处理程序)
- getSript在同一对象上多次添加处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 如何让React JS点击处理程序在执行时更新DOM
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- Backbone listenTo不将jquery函数作为处理程序进行激发
- 带有参数的Javascript事件处理程序
- Jquery事件处理程序仅适用于匿名函数