Angular注入属性到$ scope

时间:2014-06-02 12:11:20

标签: angularjs dependency-injection scope

有没有办法将属性或函数注入$ scope,并将其传递给每个控制器/其他用于其余应用程序?我们创建ng-app时可以设置的东西..

2 个答案:

答案 0 :(得分:0)

是的,实际上你可以随心所欲地使用它。但通常最有意义的是使用.constant()(对于不会改变的值)或.value()可以更改的可注入值)。

所以你可以这样做:

angular.module("myApp", []).constant('MY_FIX_VALUE', 5);

// and use it like this
angular.module("myApp").controller('FooCtrl', ['MY_FIX_VALUE', function (MY_FIX_VALUE) {

}]);

答案 1 :(得分:0)

您可以使用$rootScope设置“全局”属性。例如,在定义您的应用后:

 app.run(function($rootScope) {
    return $rootScope.RESQUE = 'http://localhost:7999/resque/overview';
  });

然后,您可以使用{{RESQUE}}在HTML中访问此媒体资源。

您还可以使用.constant():

定义常量
angular.module("awesomeApp", []).constant('RESQUE', 'http://localhost:7999/resque/overview');

然后将其注入控制器,就像任何其他依赖项一样。