2014-12-30 51 views
0

我有一個角度應用程序,我將一個命名函數傳遞給控制器​​。問題是我想注入一個供應商到該控制器使用。控制檯給我TypeError: object is not a function將參數傳遞給具有依賴注入的命名函數

我的問題是,我的語法有什麼問題?我在想這個錯誤的方式嗎?

(function() { 
    'use strict'; 

    angular.module('MyCoolApp.controllers') 

    .controller('SignInCtrl', ['$scope', 'Avatar', SignInCtrl]); 

    function SignInCtrl(Avatar) { 
    var vm = this; 

    // Error occurs here in reference to creating an instance of Avatar 
    vm.avatar = new Avatar(); 
    } 
})(); 
+0

爭鳴DI列表必須在構造函數匹配數量和順序。 – PSL

+0

我已經看到它在$ scope不需要作爲指定函數中的一個參數。我錯了嗎? – jason328

+0

您應該[閱讀此](https://docs.angularjs.org/guide/di) – PSL

回答

1

第一個參數是$scopeAvatar

function SignInCtrl($scope, Avatar) { 
    var vm = this; 

    // Error occurs here in reference to creating an instance of Avatar 
    vm.avatar = new Avatar(); 
} 
相關問題