【发布时间】:2019-08-10 07:10:07
【问题描述】:
我想知道,是否可以将 $index 参数传递给 ng-transclude?我试图通过单击 ng-transclude 中的元素来关注 textarea,触发控制器内部的一个函数来查看 textarea,但我无法获得正确的 ID。
<div
ng-repeat="locale in $ctrl.enabled">
<table>
<tbody>
<tr>
<td flex layout="row" layout-align="start end">
<ng-transclude
ng-transclude-slot="theExtraMenu">
</ng-transclude>
</td>
</tr>
<tr>
<td>
<md-input-container
md-no-float="true">
<textarea id="{{'textarea'+$index}}">
</textarea>
</md-input-container>
</td>
</tr>
</tbody>
</table>
</div>
【问题讨论】:
-
AnguarJS $compile 服务将嵌入的内容链接到组件的父范围。由于
$index属性是组件作用域的子作用域的一部分,因此它不适用于任何嵌入的内容。 -
我可以想到三种方式让嵌入的内容与组件控制器进行通信。范围变量不是其中之一。
-
我在听……
-
使用
<textarea>元素,内容绑定到使用ng-model指令的控制器。 -
@georgeawg 你会按照我回答的方式做吗? :)
标签: javascript html angularjs angularjs-compile