是这样的,有3个tabs。我在切换到chartController对应的tab的时候就报错。切换到其他的tab没有问题。
奇怪的是,在浏览器上运行正常。在手机端运行就报这个错误。
错误信息:Error: [ng:areq] Argument 'ChartController' is not a function, got undefined
index.html 模块定义
html
<!doctype html> <html class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title>NursingManagement</title> <!-- Place favicon.ico and apple-touch-icon.png in the root directory --> <meta name="format-detection" content="telephone=no"> <!-- inject:app-styles:css --><!-- endinject --> </head> <body ng-app="NursingManagement"> <ion-nav-view></ion-nav-view> <!-- inject:vendor:js --><!-- endinject --> <!-- inject:app:js --><!-- endinject --> <script src="cordova.js"></script> </body> </html>
app.js 路由配置
javascript
angular.module('NursingManagement', ['ionic', 'ngCordova', 'ngResource']) .config(['$httpProvider', '$stateProvider', '$urlRouterProvider','$ionicConfigProvider',function($httpProvider, $stateProvider, $urlRouterProvider,$ionicConfigProvider) { //解决安卓设备中tabs在顶部的问题 $ionicConfigProvider.platform.android.tabs.position('bottom'); // register $http interceptors, if any. e.g. // $httpProvider.interceptors.push('interceptor-name'); // Application routing $stateProvider .state('main', { url: '/main', abstract: false, templateUrl: 'templates/main.html' }) .state('main.message',{ url:'/message', views:{ 'myContainer':{ templateUrl:'templates/views/message.html', controller:'MsgListController' } } }) .state('main.chart',{ url:'/chart', cache:false, views:{ 'myContainer':{ templateUrl:'templates/views/chart.html', controller:'ChartController' } } }) .state('main.compose',{ url:'/compose', views:{ 'myContainer':{ templateUrl:'templates/views/compose.html', controller:'ComposeController' } } }) // redirects to default route for undefined routes $urlRouterProvider.otherwise('/main/message'); }]);
控制器定义
javascipt
angular.module('NursingManagement') .controller('ChartController', ['$scope','$ionicPlatform', '$cordovaSQLite',function($scope,$ionicPlatform, $cordovaSQLite) { $scope.showChartType='line'; } ])
百思不得其解啊