2016-06-12 153 views
0

我創造了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(...) is not a function aluPlanetApp.config(function($routeProvider) {

整個JavaScript文件是here

+0

您從不聲明'aluPlanetApp'作爲角度模塊,以使任一版本能夠如所示那樣工作。若有所失的第一個版本甚至工作 – charlietfl

+0

我已經宣佈在主要頁面這樣 <腳本類型= 「文/ JavaScript的」> VAR aluPlanetApp = angular.module( 'aluPlanetApp',[ 'ngRoute', 'ngSanitize' , 'ui.bootstrap', '角傳送帶']); –

回答

2

就完全擺脫aluPlanetApp變量,始終使用angular.module()

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

,吸氣版本見John Papa Angular Style Guide

+0

爲約翰帕帕的參考....一個很好的資源。 – Thalaivar

1

你需要先經過「使用嚴格的」,讓模塊,

var aluPlanetApp = angular.module("aluPlanetApp"); 
相關問題