Angular,使用ngFor循环生成标签,并使用ViewChild获取它

时间:2018-07-23 14:42:26

标签: angular tags ngfor viewchild

我有一个问题...实际上,我在生成它的网格上工作,这部分工作。 但是现在我需要检索位置,并且我想使用带有以下标记的viewChild:

Map.html: Map.html

Map.ts: Map.ts

我知道理想情况下我应该在回调第41行中创建我的'viewChild someInput',但是当我尝试并只是告诉了'declaration expect'时,由于它对我来说真的很新,所以我不知道该怎么做:/

回顾一下,在脚本生成网格后如何使用这些标记?请

1 个答案:

答案 0 :(得分:0)

加载dom后,您可以使用ngAfterViewInit来执行某些操作。

export class YourComponent implements OnInit, AfterViewInit {
    ...
    ngAfterViewInit() {
        // do things
    }
    ...
}

要获取div的位置,建议使用Vanilla JavaScript:

在.html中:

<div class={{getData(x, y)}} id={{x}}{{y}}> {{x}}{{y}} </div>

在.ts中:

ngAfterViewInit() {
     let element = document.getElementById(yourPosition);
}

备注:如果要获取所有“座位”元素,则可以使用getElementsByClassName()