deviceready只在PhoneGap / Cordova中偶尔发射

时间:2014-06-06 15:19:54

标签: cordova ionic-framework

目前正在使用PhoneGap 3.5(在3.3中也出现问题)使用Ionic构建应用程序,用于前端界面。

在我的iPhone上运行时,应用程序有时可以正常工作,有时也不行。我无法弄清楚它什么时候会做到。当它失败时,Weinre得到消息:

  

5秒后,deviceready尚未解雇。

     

频道未被解雇:onCordovaReady

同样,它不一致。有时它会发射,有时它不会发射。我构建了一个临时版本的应用程序并将其交给另一个开发人员;对他而言,它始终未能解雇这一事件。

我甚至不确定如何调试问题。建议?

1 个答案:

答案 0 :(得分:1)

你见过这个吗?

http://forum.ionicframework.com/t/when-are-the-angular-controllers-loaded/239

  

控制器加载时间和设备准备触发之间不一定存在连接。那个事件来自Cordova的内部,如果你把听众设置得太晚,那么这个事件已经被解雇了,你就会错过它。

     

为了解决这个问题,我们已经为您提供了平台服务   用于在设备准备就绪时(或之后)始终调用函数   它已被加载了):

controller('MyCtrl', function($scope, Platform) {
  Platform.ready(function() {
    // Platform stuff here.
  });
});

后来的帖子说:

controller('MyCtrl', function($scope, $ionicPlatform) {
  $ionicPlatform.ready(function() {
    // Platform stuff here.
  });
});

在角度框架内更有意义