在调用函数之前设置类范围变量

时间:2018-01-25 00:35:08

标签: javascript angular

我有一个创建d3图表的组件。它会根据divid元素中创建图表,因此我在组件启动过程中设置id的{​​{1}},然后调用创建图表的私有函数:

HTML:

div

JavaScript:

<div class="widget">
    <div class="header">Progress Status</div>
    <div id="{{chartId}}" class="gauge-chart-container"></div>
</div>

这里的问题是函数public ngOnInit(){ this.chartId = 'chart-'+uuid(); this.createGaugeChart(this.chartId); } 在div元素被赋值createGaugeChart之前运行,所以当我添加一个id函数时它会起作用:

timeout

我当然不想添加public ngOnInit(){ this.chartId = 'chart-'+uuid(); setTimeout(() => { this.createGaugeChart(this.chartId); },1000); } ,所以有没有办法在调用任何函数之前等待HTML使用范围变量进行渲染?或者我可能在错误的位置调用timeout函数?

1 个答案:

答案 0 :(得分:1)

看看这里:https://angular.io/guide/lifecycle-hooks

我想你可能是在ngAfterViewInit()

之后