我开发了一种离子应用程序,它在chrome中运行良好,但在生成.apk文件后,它无法正常工作。 Chrome开发者模式中只有一个警告:
SVG's SMIL animations (<animate>, <set>, etc.) are deprecated and will be removed. Please use CSS animations or Web animations instead.
这里是详细信息:
在Android设备上安装应用程序后,它会运行,但它只显示我的parrent视图:
我有一个index.html文件,这是我的父视图:
<!DOCTYPE html> <html> <head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
<script src="http://maps.google.com/maps/api/js?key=My_Api_Kei"></script>
<script src="my_apps_js"></script> </head>
<body dir="rtl" ng-app="appName">
<ion-nav-view animation="slide-right-left"></ion-nav-view> </body> </html>
这是我的运行和配置功能:
export var ehmcoModule = angular.module('ModuleName', ['ionic', 'ngCordova']);
ehmcoModule.run(function($ionicPlatform: ionic.platform.IonicPlatformService) {
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
//org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
}); });
ehmcoModule.config(function($stateProvider: ng.ui.IStateProvider, $urlRouterProvider: ng.ui.IUrlRouterProvider) {
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: Controllers.EhmcoController.controllerName
})
.state('app.home', {
url: '/home',
views: {
'menuContent': {
templateUrl: 'templates/home.html',
controller:Controllers.HomeController.controllerName
}
}
})
.state('app.category', {
url: '/category',
views: {
'menuContent': {
templateUrl: 'templates/category.html',
controller:Controllers.CategoryController.controllerName
}
}
})
$urlRouterProvider.otherwise('/app/home'); });
我认为这不是路由问题,因为我在父视图中将菜单添加到菜单并将其路由到第一页(app / home)。它去那里但角度库没有加载那里,并且没有显示绑定值。
答案 0 :(得分:0)
最后我解决了这个问题。 我正在使用打字稿,在控制器中注入有一些问题。它在浏览器中工作正常,但生成apk文件后,它无法正常工作。 为了首先找到这样的问题,我们可以使用'ng-strict-di'指令:
<body dir="rtl" ng-app="Ehmco" ng-strict-di>
<ion-nav-view animation="slide-right-left"></ion-nav-view>
</body>
除了激活我们设备的usb调试模式后,我们可以通过命令运行我们的应用程序:
ionic run --device
并在
chrome://inspect/#devices
我们可以调试我们的应用程序并查看问题。