我遇到了动态生成的指令(使用函数)和在最终标记中筛选出的角度表达式的问题。我创建了JSFiddle displaying the problem here。
我正在动态生成模板,因为我们需要一种基于元素内部属性生成标记的方法。
基本上定义像这样的表达式时:
angular.module('ui.directives', []).directive('uiBar', function() {
return {
restrict: 'E',
template: function(element, attrs) {
console.log('hello');
return '<div>lol: {{ user }}</div>';
}
};
});
然后将它放入体内:
<div ng-app="myApp">
<ui-bar>I should change to iambar</ui-bar>
</div>
结果标记为:
<div ng-app="myApp" class="ng-scope">
<ui-bar><div class="ng-binding">lol: </div></ui-bar>
</div>
由于某种原因,表达被剥离了。有没有人经历过这个?
答案 0 :(得分:0)
我不太明白你想用动态生成的模板完成什么。以下是我通常要解决的例子。
HTML看起来像这样。
<ui-bar new-value="hello">I should change</ui-bar>
该指令的return语句看起来像这样
return {
restrict: 'E',
template: "<div>lol: {{ user }}</div>",
link: function (scope, element, attrs){
scope.user = attrs.newValue;
} // end link
} // end return
以上代码适用于您的jsFiddle。
如果您可以添加更多信息,我们可以提供更多示例。