在AngularJS中定义控制器的正确方法是什么?

时间:2016-06-12 19:19:19

标签: angularjs

我在AngularJS中创建一个控制器,当我像这样定义它时它工作正常:

aluPlanetApp.controller('KontaktController', function($scope) {
  $scope.title= 'Kontakt';
  $scope.id = '10';
  $scope.users =[{"MIGX_id":"1","image":"upload/bridge.png"}];
});

然而,当我这样定义时,我收到一个错误:

(function () {
    'use strict';

    aluPlanetApp.controller('KontaktController', KontaktController);

    KontaktController.$inject = ['$scope']; 

    function KontaktController($scope) {
        $scope.title= 'Kontakt';
$scope.id = '10';
$scope.users =[{"MIGX_id":"1","image":"upload/bridge.png"}];

        activate();

        function activate() { }
    }
})();

这是我得到的错误:

  

TypeError:aluPlanetApp.config(...)不是函数   aluPlanetApp.config(function($ routeProvider){

整个JavaScript文件为here

2 个答案:

答案 0 :(得分:2)

完全摆脱aluPlanetApp变量并始终使用angular.module()的getter版本

angular.module('aluPlanetApp').controller(...
angular.module('aluPlanetApp').service(...
angular.module('aluPlanetApp').directive(...

请参阅John Papa Angular Style Guide

答案 1 :(得分:1)

在使用严格'

之后,您需要先获取模块
var aluPlanetApp = angular.module("aluPlanetApp");