为什么在我的AngularJS模板中添加ng-repeat会破坏它?

时间:2016-09-25 07:03:54

标签: html angularjs angularjs-ng-repeat ng-repeat angular-template

我有一个AngularJS指令,其模板文件如下所示:

路径/到/ myDirectiveA.template.html

<tr>
    <td bgcolor='#7cfc00'>Statement</td>
    <td bgcolor='#ff1493'>{{MyDirectiveACtrl.a.b}}</td>
</tr>

有效。输出如下:

alazsbalazs

但是我通过像这样添加ng-repeat来更改模板文件:

<tr ng-repeat="currRow in [0, 1, 2, 3]">
    <td bgcolor='#7cfc00'>Statement</td>
    <td bgcolor='#ff1493'>{{MyDirectiveACtrl.a.b}}</td>
    <td bgcolor='#7cfc00'>{{currRow}}</td>
</tr>

这会导致它破裂,如下图所示。短语Hello World!不再出现!为什么?我该如何解决这个问题?

我根本没有看到任何合理的理由为什么添加ng-repeat应该导致这种破坏。对我来说根本没有意义。

enter image description here

如果您需要,可以在我之前发布的enter image description here中找到调用它的控制器和指令。

2 个答案:

答案 0 :(得分:1)

<tbody>
<tr ng-repeat="currRow in [0, 1, 2, 3]">
<td bgcolor='#7cfc00'>Statement</td>
<td bgcolor='#7cfc00'>MyDirectiveACtrl.a.b</td>
<td bgcolor='#ff1493'>{{MyDirectiveACtrl.a.b}}</td>
<td bgcolor='#7cfc00'>{{currRow}}</td>
</tr>
</tbody>

更新你的myDirectiveA.template.html。希望它可以帮助你:)

答案 1 :(得分:1)

这可以解决问题($ parent)

<tr ng-repeat="currRow in [0, 1, 2, 3]">
    <td bgcolor='#7cfc00'>Statement</td>
    <td bgcolor='#ff1493'>{{$parent.a.b}}</td>
    <td bgcolor='#7cfc00'>{{currRow}}</td>
</tr>