javascript - Angular JS 依赖注入(inject)——最佳实践

标签 javascript angularjs dependency-injection dependency-management

我最近开始着手我的第一个 Angular JS 项目,我想确保我正确地处理了多重依赖注入(inject)。任何建议或反馈将不胜感激!

var app = angular.module('app', [
  'ngRoute',
  'ngIdle',
  'ui.bootstrap'
]);

app.controller('testCtrl', [
  '$scope', '$http', '$timeout', '$location', 'SessionService',
  function($scope, $http, $timeout, $location, SessionService) {

  // Do Stuff
}]);

最佳答案

我想你只是想知道这里的语法,有几种不同的方法:

MyAppModule.controller("MyCtrl",MyCtrl);
MyCtrl.$inject = ['$scope', '$http', '$timeout', '$location', 'SessionService'];
function MyCtrl($scope, $http, $timeout, $location, SessionService){
    //..do stuff
}

我喜欢这种方式,因为它非常解耦,并且可以很容易地与 Angular 分离, 包裹在 !function(){}() 中将使它远离全局空间。 这种方式也是注入(inject)器初始化工作量最少的。

然后是您显示的数组语法。如果您喜欢方括号 (}]),那就太好了。

您也可以放弃手动编写字符串名称,而使用像ngmin 这样的构建工具。 .尽管您必须遵循声明依赖项的准则。

我不会说有任何与此相关的最佳实践,但它更像是一种偏好。

关于javascript - Angular JS 依赖注入(inject)——最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24247535/

相关文章:

javascript - 如何在 Controller 中调用文件

java - 为什么我不能注入(inject)一个 bean 的多个实例?

javascript - 如何从嵌套的json数据中获取csv

javascript - 以下 AngularJS 代码更改底部边框颜色的正确语法是什么?

javascript - 在 MVC 应用程序中组织 JS 代码

javascript - 从表格 HTML 中获取文本区域值

dependency-injection - 带有选定引号的控制反转与依赖注入(inject)——我的理解是否正确?

java - Spring Data Repository - 没有合格的 bean 注入(inject)

javascript - 如何避免 NodeJs、Express 中的 If else hell

javascript - 为什么测试失败而浏览器不测试 AngularJS 应用程序?