所有
如果我定义了一个如下指令:
[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){
}
};
});
我想知道哪种方式正确和/或建议哪种方式?
答案 0 :(得分:2)
两者都是等价的,因为服务是单身人士。如果你想在指令的链接函数(或任何其他指令函数)中使用依赖项,你将需要第一个。
如果控制器需要依赖项,我会在控制器中注入依赖项,而不是在指令中。这允许将控制器移动到指令之外的自己的文件中,从而使其易于测试。