参数 'controller' 不是函数,未定义

Argument 'controller' is not a function, got undefined

我一直在研究这个问题,我发现它一定是语法错误。由于我是 Angular 的新手,我已经尝试了很长一段时间来定位错误,但没有成功。

如果有人能帮助我,我将不胜感激,或者,如果是其他地方我做错了:

angular.module('app-praiana', ['ionic', 'ngCordova'])

    .run(function ($ionicPlatform) {
        $ionicPlatform.ready(function () {
            // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
            // for form inputs)
            if (window.cordova && window.cordova.plugins.Keyboard) {
                cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
            }
            if (window.StatusBar) {
                StatusBar.styleDefault();
            }
        });
    })

    .config(['$httpProvider', function ($httpProvider) {
            $httpProvider.defaults.useXDomain = true;
            delete $httpProvider.defaults.headers.common['X-Requested-With'];
        }])

    .config(function ($stateProvider, $urlRouterProvider) {

        $urlRouterProvider.otherwise('/inicio');


        $stateProvider.state('inicio-state', {
            url: '/inicio',
            views: {
                'inicio': {
                    templateUrl: 'templates/home.html',
                }
            }
        })

        $stateProvider.state('termos-state', {
            url: '/termos',
            views: {
                'termos': {
                    templateUrl: 'templates/termos.html'
                }
            }
        })

    });

angular.module('app-praiana.controllers', [])
    .controller('InicioController', function($scope){
        alert(1);
    });

编辑:

错误发生在第一眼,就是这样:

错误:[ng:areq] 参数 'InicioController' 不是函数,未定义 http://errors.angularjs.org/1.3.6/ng/areq?p0=InicioController&p1=not%20a%20function%2C%20got%20undefined 在 REGEX_STRING_REGEXP (ionic.bundle.js:7888) 在 assertArg (ionic.bundle.js:9389) 在 assertArgFn (ionic.bundle.js:9399) 在 ionic.bundle.js:16224 在 ionic.bundle.js:15401 在 forEach (ionic.bundle.js:8155) 在 nodeLinkFn (ionic.bundle.js:15388) 在 compositeLinkFn (ionic.bundle.js:14887) 在 nodeLinkFn (ionic.bundle.js:15526) 在 compositeLinkFn (ionic.bundle.js:14887)

您的模块 app-praiana 需要访问 app-praiana.controllers 模块才能使用其 initioController

首先定义控制器模块,然后声明你的主模块:

angular.module('app-praiana', ['ionic', 'ngCordova', 'app-praiana.controllers'])