我见过的大多数MSDN WinJS应用示例都是在应用WinJS.UI.processAll()
事件后调用activated
。我还看到了许多在WinJS.UI.processAll()
事件后调用DOMContentLoaded
的非MSDN教程。
是否有任何实际理由使用一种方法而不是另一种方法?
答案 0 :(得分:4)
这是时间问题;我个人称之为DOMContentLoaded:
WinJS.Utilities.ready().done(function() {
WinJS.UI.processAll();
});
其中一个主要原因是您可以将承诺返回到激活处理程序(您在模板中看到的setPromise
调用),这样启动屏幕会持续一段时间,直到{{1}完成。这样可以更好地从启动画面切换到已完成的内容,而无需查看部分构建的UI。
但是,如果你的UI根据激活类型而改变,你可能想要延迟这个,直到你构建了DOM。由于您需要激活类型来实现这些差异,因此您需要在激活事件引发后调用它。