2015-12-18 109 views
-2

我目前很難理解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 -factory知道嗎?

+1

這是一個非常基本的問題,回答您可以在您登陸的第一個文檔頁面找到答案,但您沒有努力爲自己找到答案 – maurycy

回答

1

當你醜化你的代碼

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

進樣可以注入它依賴你的「ngMaterial」,「ngMessages」

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

PS是一樣這樣做,但工作做你的工廠在哪裏你想要使用它。在這種情況下你的控制器。

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

另外,值得注意的是,如果你有多個模塊,你可以注入他們彼此並通過依賴注入在對方使用他們的服務。

0

你的代碼非常好。您只需將工廠注入您的控制器。見下圖

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

依賴注入!

看一看here

將工廠注入控制器。然後,您可以使用控制器的工廠服務。