gpt4 book ai didi

javascript - 将变量传递给 ng-transclude

转载 作者:行者123 更新时间:2023-11-30 14:06:43 26 4
gpt4 key购买 nike

我想知道,是否可以将 $index 参数传递到 ng-transclude 中?我试图通过单击 ng-transclude 中的元素来关注文本区域,触发 Controller 内部的一个函数来查看文本区域,但我无法获得正确的 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>

最佳答案

所以最后,我创建了一个父组件,将语言环境作为输入并包含所有必要的内容。然后我需要所述组件的 Controller ,这就是我如何看待语言环境的值(value)。

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

谢谢 @georgeawg寻找灵感。

编辑:示例 -

<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>

父组件(translated-textarea-menu)

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',
}

并使用 this.translatedTextareaMenu.locale 访问它

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

有关详细信息,请参阅

关于javascript - 将变量传递给 ng-transclude,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55246392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com