我的指令看起来像这样:
angular.module('customDirectives', [])
.directive('searchResult', function() {
return {
templateUrl: 'app/directives/templates/searchResult.html',
replace: true,
scope: {
itemObject: "=",
itemById: "&"
}
}
});
它有效,但我希望有一个像" templates / searchResult.html"的模板。因为模板文件夹就在我的指令文件旁边。但似乎我需要根据我的index.html文件的位置给出模板的位置...无论如何都要将templateUrl更改为" templates / searchResult.html"?
答案 0 :(得分:0)
我想我有一个解决方法。如果您确定,您将所有指令放在一个位置,只需使用角度常量来存储根文件夹URL。为此,首先在app模块中添加一个常量,例如:
angular.module('app', ['customDirectives'])
.constant('appConfig', {
directivesRoot: 'app/directives/'
});
然后,在你的指令中,注入appConfig
并像这样使用它:
angular.module('customDirectives', [])
.directive('searchResult', ['appConfig', function(appConfig) {
return {
templateUrl: appConfig.directivesRoot + 'templates/searchResult.html',
replace: true,
scope: {
itemObject: "=",
itemById: "&"
}
}
}]);
如果要在另一个项目中使用指令,则只需要更改directivesRoot url。