将指针中的依赖项注入angular中的指令时有什么区别

时间:2015-05-08 17:21:38

标签: angularjs angularjs-directive

所有

如果我定义了一个如下指令:

[1] Inject $dependency in at the directive function:
app.directive("sampledirective", function( $dependency ){
                return {
                    restrict:"AE",
                    scope: {},
                    replace: true,
                    templateUrl: "tmpl/trendtopic.html",
                    controller: function($scope){

                    }
                };

            });



[2] Inject $dependency in at the controller function:
app.directive("sampledirective", function(  ){
                return {
                    restrict:"AE",
                    scope: {},
                    replace: true,
                    templateUrl: "tmpl/trendtopic.html",
                    controller: function($scope, $dependency){

                    }
                };

            });

我想知道哪种方式正确和/或建议哪种方式?

1 个答案:

答案 0 :(得分:2)

两者都是等价的,因为服务是单身人士。如果你想在指令的链接函数(或任何其他指令函数)中使用依赖项,你将需要第一个。

如果控制器需要依赖项,我会在控制器中注入依赖项,而不是在指令中。这允许将控制器移动到指令之外的自己的文件中,从而使其易于测试。