微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何访问Angular中另一个viewchild元素内的元素

如何解决如何访问Angular中另一个viewchild元素内的元素

我有一个这样的变量列表。

languages: {languageDesc:string,languageId: string}[] = [];
像这样在我的组件中加载的

<button mat-fab color="warn" class="center" (click)="translate()">
</button>
<ul class="list-group" cdkDropList (cdkDropListDropped)="drop($event)">
  <li *ngFor="let language of languages" cdkDrag #languagesElement >
    <div class="row">
      {{ language.languageId }}
      <h1 class="col text-left language-description"> {{ language.languageDesc | uppercase }} </h1>
      <textarea md-maxlength="150" rows="5" md-select-on-focus
        class="textarea" >  </textarea>
    </div>
  </li>
</ul>

当我单击转换按钮时,我需要在对象列表中转换列表。 ul中的每个元素都是这样的:

{
 languageDesc: desc1El,languageId: id1El,textAreaValue: textarea1El
},{
 languageDesc: desc2El
 languageId: id2El,textAreaValue: textarea2El
},...

我已经能够使用ViewChildren获得li元素的数组并将其转换为Array。

@ViewChildren('languagesElement') list: any;

let rows: [] = this.list.toArray();

我知道我可以做这样的事情来获取数据

rows[0].nativeElement.children[0].children[0]...

但这种方法有点危险,因此对修改无能为力。

所以,我的问题是。 有没有办法通过模板在其他元素中获取元素? 我的意思是,例如,在文本区域中设置模板#textarea并执行类似的操作

row[0].getChildElement(#textarea)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。