一尘不染

我可以在AngularJS的指令中注入服务吗?

angularjs

我正在尝试将服务注入如下指令:

 var app = angular.module('app',[]);
 app.factory('myData', function(){
     return {
        name : "myName"
     }
 });
 app.directive('changeIt',function($compile, myData){
    return {
            restrict: 'C',
            link: function (scope, element, attrs) {
                scope.name = myData.name;
            }
        }
 });

但是,这给了我一个错误Unknown provider: myDataProvider。有人可以调查一下代码,并告诉我是否做错了什么?


阅读 182

收藏
2020-07-04

共1个答案

一尘不染

您可以对指令进行注入,看起来就像在其他地方一样。

app.directive('changeIt', ['myData', function(myData){
    return {
        restrict: 'C',
        link: function (scope, element, attrs) {
            scope.name = myData.name;
        }
    }
 }]);
2020-07-04