我遇到了在AngularJS内部无法注册'deviceready'的问题。我确定之前是可以的,所以不确定出了什么问题。
如果我从全局addEventListener中调用'deviceready',就像这样:
document.addEventListener('deviceready', function(){
localStorage.deviceReadyGlobal = true;
});
deviceReadyGlobal=true被设置了。但是,如果我试图在Angular内部附加它,它永远不会触发,就像这样:
app.run(function(){
document.addEventListener('deviceready', function(){
localStorage.deviceReadyAngular = true;
});
});
deviceReadyAngular从未被设置。我知道在Angular引导时,PhoneGap可能已经触发了“deviceready”事件,但根据PhoneGap文档,这不应该有影响。
deviceready事件的行为与其他事件略有不同。在deviceready事件触发后注册的任何事件处理程序都会立即调用其回调函数。
“deviceready”的行为是否有所改变?
我目前正在使用Cordova 3.3.0和Angular 1.2.5。
deviceready
事件,因为你的处理程序附加得太晚了。你是否尝试使用全局变量在 Angular 启动之前捕获它,然后仅在你还没有看到该事件时在你的run
块中添加事件? - Jeff Hubbard