- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在学习Angular 2。在angular 2生命周期钩子(Hook)中
ngAfterContentInit -- Component content has been initialized
ngAfterContentChecked -- Component content has been Checked
ngAfterViewInit -- Component views are initialized
ngAfterViewChecked -- Component views have been checked
我无法理解 ngAfterContentInit 与 ngAfterContentChecked、ngAfterViewInit 与 ngAfterViewChecked 之间的区别。
他们提到组件内容已被检查和组件 View 已被检查。我不明白“检查”这个词指的是什么?
谁能解释一下。
最佳答案
详细解释生命周期 Hook 的最佳文章是 Everything you need to know about change detection in Angular .
ngAfterViewInit Vs ngAfterVIewChecked
如文章中所述,每次 Angular 完成对组件及其子组件的更改检测时,都会调用 ngAfterVIewChecked
。 ngAfterViewInit
仅在第一个更改检测周期中被调用。如果您需要知道第一个变更检测周期何时运行,您可以使用它。例如,您需要为某些 jQuery 元素设置监听器,并且需要等待它们初始化:
ngAfterViewInit() {
this.widget = $(this.location.nativeElement).slider({value: this.value});
this.widget.on('slidestop', (event, ui) => {
this.onChange(ui.value);
});
}
这同样适用于 ngAfterContentInit
,不同之处在于 Angular 对投影内容(通过 ng-content
)而不是组件模板中指定的子项运行变化检测。
I can't understand what that word "Checked" mentioned?
检查意味着运行变更检测并执行与变更检测相关的操作,如 DOM 更新、查询列表更新和子组件绑定(bind)更新。
关于angular - ngAfterViewInit() 和 ngAfterViewChecked() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46162234/
我正在学习Angular 2。在angular 2生命周期钩子(Hook)中 ngAfterContentInit -- Component content has been initialized
我有一个服务,我想在 View 完全呈现后调用它。我做了一些挖掘并找到了 Angular 生命周期。对我来说最好的方法似乎是 AfterViewChecked,所以我更新了我的 AppComponen
`ngAfterContentChecked() { console.log("内容已检查"); ngAfterViewChecked(){ console.log("查看已检查"); }` 我正在使
在 Angular 2+ 中,ngDoCheck 和 ngAfterViewChecked 似乎执行相同的功能。ngDoCheck 据说只要触发更改检测就会被调用。现在这个变化检测将随着 View 的
我需要使用 Typescript 将 jquery 插件应用于 Angular2 中的单选按钮。 如果我在 ngAfterViewChecked 中赋值,它会被调用多次并且控件会刷新多次。 在 DOM
我正在使用 OnPush 策略并根据此 article如果没有输入更改,则无需检查组件的模板。但在我的示例中,当我单击触发按钮并且输入没有更改时,在这种情况下 ngAfterViewChecked H
ngOnInit()、ngAfterViewInit()、ngafterContentInit()、ngAfterViewChecked( ) 和一个构造函数()?我们如何在 Angular 2 中实
再现性 我有一个小的 TypeScript 代码片段,如下所示: ngAfterViewChecked(){ console.log("ngAfterViewChecked 1");
我是一名优秀的程序员,十分优秀!