2016-08-20 48 views
0

我剛剛創建了一個簡單的應用程序。 main controller的路線正在工作,但不是爲另一個。 這是路線文件的代碼AngularJS爲控制器顯示未定義的功能

$routeProvider 
    .when('/', { 
    templateUrl: 'app/main/main.html', 
    controller: 'MainController', 
    controllerAs: 'main' 
    }) 
    .when('/signatures', { 
    templateUrl: 'app/components/signature/signature.html', 
    controller: 'SignatureController', 
    controllerAs: 'signature', 
    resolve: { 
     signatureLists: function(SignatureService){ 
     return SignatureService.getSignatures(); 
     } 
    } 
    }) 
    .otherwise({ 
    redirectTo: '/' 
    }); 

和下方的部分是控制器

(function() { 
    'use strict'; 

    angular 
    .module('demoapp') 
    .controller('SignatureController', SignatureController); 

    /** @ngInject */ 
    function SignatureController(signatureLists) { 
    var vm = this; 
    vm.signatures = signatureLists; 
    } 
}) 

我在另一個文件中定義的模塊:

(function() { 
    'use strict'; 

    angular 
    .module('demoapp', ['ngRoute', 'toastr']); 

})(); 

當我嘗試請訪問/signatures頁面,我收到此錯誤:

Error: [ng:areq] Argument 'SignatureController' is not a function, got undefined

也許它只是一個愚蠢的錯誤,由於一個錯字或別的東西,但我仍然無法弄清楚

+0

您忘了自己調用控制器closure .. do()在末尾 – Developer

+0

檢查您是否在您的html腳本中添加了腳本