【问题标题】:$ionic.Platform.ready not firing in android$ionic.Platform.ready 没有在 android 中触发
【发布时间】:2016-03-19 18:42:30
【问题描述】:

我的 app.js 中目前有 $ionicPlatform 事件监听器。我知道它在 pc 浏览器的测试环境中工作,但是当我构建应用程序并在我的 android 设备上运行它时,ionicPlatform.ready 从未真正运行/触发。有什么想法吗?

这里发布了一些主题/问题,以及一些对我不起作用的解决方案。

https://github.com/driftyco/ionic/issues/1751

https://stackoverflow.com/questions/32421291/code-inside-ionic-platform-ready-not-getting-fired-up

app.js

var app = angular.module('who', ['ionic', 'ngCordova'])
.run(function($ionicPlatform, $rootScope, $cordovaDevice) {
  $ionicPlatform.ready(function() {
    if(window.cordova && window.cordova.plugins.Keyboard) {
      // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
      // for form inputs)
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);

      // Don't remove this line unless you know what you are doing. It stops the viewport
      // from snapping when text inputs are focused. Ionic handles this internally for
      // a much nicer keyboard experience.
      cordova.plugins.Keyboard.disableScroll(true);
    }
    if(window.StatusBar) {
      StatusBar.styleDefault();
    }
    var push = new Ionic.Push({
      "debug": true
    });
    push.register(function(token) {
      console.log("Device token:",token.token);
    });
    console.log('reached end of ionic platform ready');
  });
})

更新 12/14/2015 @ 5:24 AM - 我有一个首先加载的视图/活动,它呈现来自 $ionic.platform.ready 侦听器的结果。加载应用程序后,它什么也不渲染。有趣的是,在转到另一个视图/活动之后,然后返回到第一个视图/活动,然后加载/渲染结果。有什么想法吗?

更新 12/14/2015 @ 5:30 AM - 我已经尝试过 ionic.Platform.ready,我已经尝试过 document.addEventlistener 'deviceready'。它们都不起作用,$ionicPlatform.ready 给我的问题最少,所以我默认了。

【问题讨论】:

  • 我有一个首先加载的视图/活动,它呈现来自 $ionic.platform.ready 侦听器的结果。加载应用程序后,它什么也不渲染。有趣的是,在转到另一个视图/活动之后,然后返回到第一个视图/活动,然后加载/渲染结果。有什么想法吗?
  • 你试过 ionic.Platform.ready(funtion(){}) 代替吗?
  • @Muhsin 是的,我尝试过 ionic.Platform.ready,我尝试过 document.addEventlistener 'deviceready'。它们都不起作用,$ionicPlatform.ready 给我的问题最少,所以我默认了。

标签: android angularjs cordova ionic-framework ngcordova


【解决方案1】:

我决定暂时采用这种解决方法,除非有人可以为我更好地重构它。

在 $ionicPlatform.ready 中检索到的数据不会在加载的第一个活动中呈现。我通常必须导航到至少 1 个以上的活动,然后返回查看结果。现在我知道 ionicFramework 有它自己的默认启动活动,我不想为此覆盖(暂时),所以我添加了另一个视图/状态/活动,它只是用作缓冲区并立即导航到结果活动。

  1. 应用程序加载
  2. 离子飞溅活动
  3. 缓冲活动
  4. 结果活动

可能只是我对 Ionic 的数据同步的误解,但是这个肮脏的修复似乎已经解决了它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多