使用工厂内部控制器

时间:2015-12-18 10:25:50

标签: javascript angularjs

我目前很难理解AngularJs中的模块原理。

我有3个文件:

  • 应用
  • 控制器

我想在我的控制器中使用工厂:

app.js:

angular.module('myApp', ['ngMaterial', 'ngMessages']);

controller.js:

angular.module('myApp').controller('MyController', function () {
    ...
}

factory.js:

angular.module('myApp').
    factory('test', function () {
        return 'Just a test';
    });

我的控制器如何从test - 工厂知道?

4 个答案:

答案 0 :(得分:1)

您将其作为依赖注入,就像您对  ngMaterial' ng' ngMessages'

一样
angular.module('myApp').controller('MyController', ['test',function (test) {
 ...
]};

PS它和这样做是一样的,但是当你解密你的代码时工作

angular.module('myApp').controller('MyController',function (test) {...};

答案 1 :(得分:0)

将工厂注入您想要使用的任何地方。在这种情况下你的控制器。

angular.module('myApp').controller('MyController', function ('test') {
    ...
}

另外值得记住的是,如果你有多个模块,你可以互相注入它们,并通过依赖注入在彼此之间使用它们的服务。

答案 2 :(得分:0)

你的代码非常好。您只需将工厂注入控制器即可。见下文

angular.module('myApp').controller('MyController', ['$scope','test',function ($scope, test) {
 // Do your stuff here with test
]};

答案 3 :(得分:0)

依赖注入!

看看here

将工厂注入控制器。然后,您可以使用控制器中的工厂服务。