gpt4 book ai didi

javascript - $ionicPlatform.ready 未触发

转载 作者:行者123 更新时间:2023-11-29 19:14:09 25 4
gpt4 key购买 nike

我有一个问题,如果我添加我的路由器文件和 Controller 文件,$ionicPlatform.ready 中的代码不会触发,但我找不到问题。

模板和 Controller 工作正常。

index.html

<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="cordova.js"></script>

<script src="js/app.js"></script>
<script src="js/core/router/app.router.js"></script>
<script src="js/feature/notification/notification.js"></script>

<body ng-app="app">
<ion-nav-view></ion-nav-view>
</body>

应用程序.js

angular
.module('app', ['ionic'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}

if (window.StatusBar) {
StatusBar.styleDefault();
}
console.log('##################');
});
});

应用程序.router.js

angular
.module('app', ['ionic', 'ui.router'])
.config(Router);

Router.$inject = ['$stateProvider', '$urlRouterProvider'];

function Router($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');

$stateProvider
.state('notifications', {
url: '/',
templateUrl: 'js/feature/notification/notification.html',
controller: 'NotificationCtrl',
controllerAs: 'model'
});
}

通知.js

angular
.module('app')
.controller('NotificationCtrl', NotificationCtrl);

function NotificationCtrl() {
var model = this;
console.log('Test');
}

谢谢你的时间

最佳答案

包裹在 $ionicPlatform.ready 中的代码不会运行,因为您不止一次定义了您的应用程序模块,而它应该只在您的 app.js 中定义。对该模块的后续调用应取消依赖性注释。在这种情况下,您可以将 app.router.js 中的行从 .module('app', ['ionic', 'ui.router']) 更改为.module('应用程序')

另一件需要注意的事情是,使用 Ionic,您不需要自己注入(inject) ui-router,因为它包含在 Ionic 包中。

但是,您不应该删除 Router.$inject = ['$stateProvider', '$urlRouterProvider']; 除非您使用自动注释工具,例如 ng-annotate 由于缩小代码时的潜在问题(感谢@AdityaSingh)。

(为清晰和准确起见进行了编辑。)

关于javascript - $ionicPlatform.ready 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36656826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com