使用AngularJs Controller显式内联注释

时间:2017-04-04 12:53:58

标签: javascript angularjs dependency-injection

我习惯使用像这样的内联注释注入依赖项

angular.module('app')
.controller('SampleController',['$scope','ngDependacy',sampleController]);

function sampleController($scope,ngDependacy) {
    //do something
}

但是现在我正在尝试使用对象注入另一个依赖项作为名称,并且遇到错误。以下是我的内容

angular.module('app')
.controller('SampleController',['$scope','ng.Dependacy',sampleController]);

function sampleController($scope,ng.Dependacy) {
    //do something
}

如何使用点作为名称

的一部分来注入此依赖项

1 个答案:

答案 0 :(得分:0)

您可以尝试以下注释:

var MyController = function($scope, ngDependecy) {
  // ...
}
MyController.$inject = ['$scope', 'ng.Dependecy'];
someModule.controller('MyController', MyController);

检查:https://docs.angularjs.org/guide/di

$inject属性注释

但请记住这样的结构:

function sampleController($scope,ng.Dependecy) {
  //do something
}

在JavaScript交换ng.Dependency中使用其他名称(例如ngDependency在函数的参数中工作。

jsFiddle中的示例: http://jsfiddle.net/Oski/zjFp4/1313/