在我的Windows 8应用程序中,我需要在加载页面时运行一些代码,但我需要在default.js文件中的应用程序级别运行它。当页面加载到DOM中时,是否可以使用一般事件来附加?
答案 0 :(得分:0)
在default.js中,已经有WinJS.Navigation的引用,所以你可以这样做:
nav.addEventListener("navigated", function (e) {
console.log('loaded a new page ' + e.detail.location);
});
当您从一个页面导航到另一个页面而不是实际加载到DOM中时,这将触发(不确定您的具体用途)。
如果您希望在将页面真正加载到DOM时发生某些事情,可以在页面中添加覆盖load,然后在WinJS.Application上调用方法(例如unload
是您已生成的页面代码的一部分)
load: function()
{
WinJS.Application.doSomething();
},
unload: function () {
this._items.dispose();
},
在app.js中的应用程序代码中,你有
app.doSomething = function () { console.log("I did something"); }
虽然我正在打猎,但这里有一个小故障。一旦我覆盖load,我就会在第二次调用时看到HierarchyRequestError。