模板在角度/离子中完全加载时会自动调用方法吗?

时间:2018-05-20 13:18:25

标签: angular ionic2 ionic3

我希望在模板完全加载时自动调用方法。我尝试了离子和角度的生命周期钩子,我也尝试从模板中调用方法。 HTML

我的HTML文件包含以下内容:

<h1>{{ myMethod() }}</h1>

但这是多次调用myMethod函数。

2 个答案:

答案 0 :(得分:1)

由于您只需要拨打myMethod()一次,因此最好使用 ionViewDidLoad 。因为仅当视图存储在内存中时才会触发此事件。输入已缓存的视图时不会触发此事件。您可以从here找到更多信息。

因此,如果您需要在触发此事件后调用方法(myMethod()),最好在此事件中使用timeout来调用您的方法。给出与您的场景匹配的欲望超时。

示例代码:

ionViewDidLoad() {
  setTimeout(() => {
    myMethod();
  }, 300);
}

希望这有助于解决您的问题。

答案 1 :(得分:0)

你应该去 ngAfterViewInit 生命周期钩子。在最初呈现视图后调用ngAfterViewInit()。

export class YourComponent implements AfterViewInit {    
  constructor() {    
  }

  ngAfterViewInit() {
    myMethod();
  }
}