AngularJS-将元素附加到指令内的每个ng重复迭代
我在AngularJS-将元素附加到指令内的每个ng重复迭代,angularjs,directive,ng-repeat,Angularjs,Directive,Ng Repeat,我在元素中使用ng repeat和一个指令 Html: 你没有在你的孩子身上得到有角度的约束的原因是你缺少它。当link函数运行时,元素已经被编译,因此,角度增加了。你所要做的就是手工编译你的内容。首先,不要评估模板,否则将丢失绑定提示 app.directive('createTable',函数($compile){ 返回{ 链接:函数(范围、元素、属性){ var contentTr=角度元素(“测试”); contentr.insertBefore(元素); $compile(conte
元素中使用ng repeat和一个指令
Html:
你没有在你的孩子身上得到有角度的约束的原因是你缺少它。当link函数运行时,元素已经被编译,因此,角度增加了。你所要做的就是手工编译你的内容。首先,不要评估模板,否则将丢失绑定提示
app.directive('createTable',函数($compile){
返回{
链接:函数(范围、元素、属性){
var contentTr=角度元素(“测试”);
contentr.insertBefore(元素);
$compile(contentTr)(范围);
}
}
});
另一个技巧:永远不要将元素括在jQuery($)中。如果页面中有jQuery,则所有Angular元素都已经是jQuery扩展元素
最后,解决问题的正确方法是使用指令compile
函数(read)在编译之前修改元素
最后,通读全文,这是一个宝贵的资源
<tbody>
<tr ng-repeat="row in rows" create-table>
<td nowrap ng-repeat="value in row | reduceString>{{value}}</td>
</tr>
</tbody>
app.directive('createTable', function () {
return {
link: function (scope, element, attrs) {
var contentTr = scope.$eval('"<tr ng-show="false"><td>test</td></tr>"');
$(contentTr).insertBefore(element);
}
}
}
);