【发布时间】:2017-01-02 03:26:02
【问题描述】:
我在 Angular 1.57 / Typescript 应用程序中激活控制器生命周期挂钩时遇到问题。我正在使用组件(不是控制器)。
我这样做的原因是因为我需要在加载完所有 HTML 后进行一些 DOM 操作。到目前为止我尝试过的两种方法如下。
$postLink 是一个 NGcontroller 生命周期钩子,应该在所有 DOM 元素加载后触发。这是我的组件中的第一个功能。
$viewContentLoaded 基本上与我所看到的一样。我的 $routerOnActivate 函数中有这个。
方法一
public $postLink(){
this.log.debug('postLink all done');
}
方法二
$routerOnActivate(next, prev) {
this.$scope.$on('$viewContentLoaded', (event) => {
this.log.debug('viewContentLoaded all done');
});
};
实施这两种方法后,$postLink all done 日志会在其他所有操作之前触发,而我的 $viewContentLoaded all done 日志永远不会被触发。
这样做的目的是我可以触发页面上 HTML 元素的操作。所以我需要等到所有的 HTML 都加载完毕才能触发这些动作。
【问题讨论】:
标签: javascript angularjs dom typescript components