我正在尝试制作一个角度指令,根据指令上的属性呈现动态内容网址。例如:
指令:
angular
.module('myModule')
.directive('myContent', directive);
function directive() {
return {
replace: true,
templateUrl: function (elem, attrs) {
return attrs.contentUrl;
}
};
}
HTML:
<div my-content content-url="url/to/my-content.html"></div>
然而,我想要的是content-url
属性由控制器中的字符串填充。所以,让我们说控制器正在使用&#34; controllerAs&#34;名称为&#34; home&#34;的语法,我希望html读取:
<div my-content content-url="{{home.myContent.url}}"></div>
但是在指令的templateUrl函数中,contentUrl
属性按字面意思发送为&#34; {{home.myContent.url}}&#34;。如何在运行templateUrl函数之前获取此值?或者,是否有更好的方法可以从指令中获得简单的动态内容?
答案 0 :(得分:0)
答案由@ crhistian-ramirez提供:
只需使用ng-include
即可<div ng-include="vm.myContent.url"></div>