【发布时间】:2015-07-05 13:23:01
【问题描述】:
我使用Angular.js Services 在控制器之间共享一些数据,如下所示:
var mainApp = angular.module("mainApp", []);
mainApp.service('CalcService', function(){
this.square = function(a) {
//do something
}
});
mainApp.controller('CalcController', function($scope, CalcService) {
$scope.square = function() {
$scope.result = CalcService.square($scope.number);
}
});
它可以工作,但正如您所见,在控制器中,我必须注入 CalcService 并在我的控制器中使用它。我的问题是,我有很多服务,在我的应用程序的某些页面中我需要注入服务依赖项,而在某些页面中我不需要!如果我把它写在那里,在我不需要的页面中,我会收到错误,因为我的控制器在另一个文件中并且我没有加载它。我怎么能克服这个?
我希望我可以在某些情况下设置该注入。我需要一个 If Else 语句。这可能吗?
我的应用程序结构是这样的:我有一个主应用程序和一些可以附加到页面的小部件,但是每个页面都有不同的小部件,那么我也需要在我的主模块中注入适当的小部件服务。我有一个主模块和一个主控制器,以及其他控制器内部的许多服务。每个页面都有自己的小部件和控制器。在主控制器中,我必须查看加载了哪些小部件,然后注入其服务
【问题讨论】:
标签: javascript angularjs node.js dependency-injection