好吧,所以我想在动态生成的模板网址中使用范围变量。所以我尝试了这个:
HTML
<my-directive type="{{ type }}"></my-directive>
JS
angular.module('myApp', [])
.directive('myDirective', function () {
return {
templateUrl: function (tElement, tAttrs) {
return 'templates/myDirective.' + tAttrs.type + '.html';
};
};
});
我希望tAttrs.type
能够返回$scope.type
的值,但我最终获得了{{ type }}
。这导致templateUrl为templates/myDirective.{{ type }}.html
。
那么,我该怎么做才能获得范围变量的值而不是原始文本?
答案 0 :(得分:1)
无法从指令的templateUrl中访问范围值。属性尚未编译,因此在此上下文中无法访问范围。
这是一个可能对您有用的解决方法。
我在这里做的是使用包含带有ng-include的div的模板,通过双向绑定获取url。