如何将服务注入Angularjs中的方法

时间:2014-02-18 19:03:35

标签: javascript html angularjs

我试图理解AngularJS中的依赖注入。

现在,我试图将$interpolate and $eval注入我的控制器,但是reading the documentation没有澄清,因为我没有在Angular上有一个良好的基础。

使用以下代码演示我不明白的问题:

var module = angular.module('ngAppDemo',[ ]);

module.controller('ngAppDemoController', function($scope, $parse) {
  $scope.a = 1;
  $scope.b = 2;
  $scope.myHTML = '{{a}}';

});

有人可以帮我理解如何注入和$interpolate myHTML字符串吗?或者,如果在评估该字符串时插值不正确,那么是什么?这是一个奇怪的案例,但我现在只是想学习。

1 个答案:

答案 0 :(得分:0)

你非常接近。只需将其声明为模块依赖项并添加到函数参数中。 (我认为这应该有效)

var module = angular.module('ngAppDemo',['$interpolate' ]);

module.controller('ngAppDemoController', function($scope, $parse, $interpolate) {
  $scope.a = 1;
  $scope.b = 2;
  $scope.myHTML = '{{a}}';

});

我一直在以这种方式宣布控制器和注射:

angular.module('app').controller(
        'generator', 
        ['myService', '$http', '$scope', '$interpolate', generator]
);

function generator(myService, $http, $scope, $interpolate) {
    $scope.foo = 'bar';
}

将控制器对象(在我的情况下是 generator )传递给模块声明