AngularJS支持带有-start-end后缀的多元素指令。官方文档仅提及ng-repeat-startng-repeat-end。其他内置指令是否支持此功能?

例如,这可以正常工作:

<tbody>
  <tr ng-controller="myController">
    <td>{{firstName}}</td>
    <td>{{lastName}}</td>
  </tr>
</tbody>
{{firstName}}{{lastName}}都被替换为其适当的值。

但这仅部分起作用:
<tbody>
  <tr ng-controller-start="myController">
    <td>{{firstName}}</td>
  </tr>
  <tr ng-controller-end>
    <td>{{lastName}}</td>
  </tr>
</tbody>
{{firstName}}已正确替换。但是{{lastName}}为空。
由于{{firstName}}有效,因此AngularJS可以识别ng-controller-start{{lastName}}不起作用是一个错误,还是我做错了?

更新
如果不正式支持ng-controller-startng-controller-end。如何使ng-controller跨多个元素?我可以使用注释样式的指令吗?如果是,怎么办?

最佳答案

指令是否支持此指令取决于其指令定义和 multiElement 属性。

似乎Angular的文档没有说内置指令是多元素的,但是a Github search似乎表明它只是ngRepeatngSwitchWhenngSwitchDefaultngIfngShowngHide

您也可以使用multiElement创建自己的指令。

09-10 05:31
查看更多