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=&quot;false&quot;><td>test</td></tr>"');
                $(contentTr).insertBefore(element);
            }
        }
    }
);