Javascript 将变量传递到ng transclude

Javascript 将变量传递到ng transclude,javascript,html,angularjs,angularjs-compile,Javascript,Html,Angularjs,Angularjs Compile,我想知道,是否可以将$index参数传递到ng transclude?我试图通过点击ng transclude中的元素来关注textarea,触发控制器中的一个函数来查看textarea,但我无法获得正确的ID <div ng-repeat="locale in $ctrl.enabled"> <table> <tbody> <tr> <td flex l

我想知道,是否可以将$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>    

因此,最后,我创建了一个父组件,该组件将区域设置作为输入,并转包所有必要的内容。然后我需要所述组件的控制器,这就是我如何看待locale的值

我没有使用作用域父访问的原因是,如果作用域的层次结构发生变化,它就会被破坏

谢谢你的灵感

编辑:示例-

<div ng-repeat="locale in $ctrl.enabled">
 <translated-textarea-menu locale="locale">

  <the-extra-menu>
    <ng-transclude ng-transclude-slot="theExtraMenu"></ng-transclude>
  </the-extra-menu>

 </translated-textarea-menu>
然后在转置组件(额外菜单组件)中

然后使用
this.translatedTextareaMenu.locale

指令可以
要求其他指令的控制器启用彼此之间的通信。这可以通过为
require
属性提供对象映射在组件中实现。对象键指定将所需控制器(对象值)绑定到所需组件控制器的属性名称

有关详细信息,请参阅


AnguarJS$compile服务将转包内容链接到组件的父范围。由于
$index
属性是components作用域的子作用域的一部分,所以它对任何转置内容都不可用。作用域变量不是其中之一。我在听……通过
元素,内容被绑定到带有
ng model
指令的控制器。@georgeawg您会按照我回答的方式执行吗?:)举一个例子会很有帮助。这里我们来看看@georgeawg是如何与。以及
ngModelController
与及其通信的方式。
component: {
    templateUrl: 'xyz.html',
    bindings: {
        locale: '&',
    },
    transclude: {
        theExtraMenu: '?theExtraMenu'
    },
    controller: TranslatedTextareaMenuController,
    controllerAs: '$ctrl',
}
component: {
    templateUrl: 'x.html',
    bindings: {
        variables: '&'
    },
    require: {
        translatedTextareaMenu: '^translatedTextareaMenu'
    },
    controller: TheExtraMenuController,
    controllerAs: '$ctrl',
}