是否可以在指令的templateUrl中获取$rootScope
对象?
我的意思是,如果这是我指令的功能:
function AttributesCard() {
return {
restrict: "AE",
templateUrl: function ($rootScope) {
return $rootScope.baseUrl + "/attributesCard.directive.html";
},
controller: AttributesCardController,
controllerAs: "vm",
scope: {
educationPlace: "=",
privileges: "="
},
bindToController: true
};
}
如何在templateUrl的函数中获取$ rootScope对象?我在其中得到了其他东西。或者也许代替$ rootScope一个可能为我提供这些数据的服务。
谢谢,
ashilon
答案 0 :(得分:2)
是的,您可以在控制器,服务等中注入指令中的任何内容:
app.directive("name", ["$rootScope", "myService", function($rootScope, myService) {
// ..
templateUrl: function () {
var baseUrl = $rootScope.baseUrl; // or myService.baseUrl;
return baseUrl + "/attributesCard.directive.html";
},
// ..
}]);