我正在调整应用程序的性能,并遇到以下差异。请看
the stackblitz
以现场为例。
带有后缀的组件
-on-push
有
ChangeDetectionStrategy.OnPush
-default
有默认策略。
我有两种方法,第一种是“嵌入式”,第二种是“ngcontent”。澄清如下。
根模板:
<h1>embedded</h1>
<app-embedded-on-push></app-embedded-on-push>
<h1>ng-content</h1>
<app-ng-content-on-push>
<app-ng-content-default></app-ng-content-default>
</app-ng-content-on-push>
在哪里?
app-embedded-on-push
s模板只是“嵌入”了
app-embedded-default
<app-embedded-default></app-embedded-default>
另一方面,
app-ng-content-on-push
s模板投影
app-ng-content-default
ng-content
:
<ng-content></ng-content>
为了得到更好的主意,请看stackblitz。
期望
因为组件
只有当输入引用发生变化时才会被检查(组件本身及其子组件),我的期望是对组件本身及其子组件进行更改检测
这两种方法都可以触发,称为嵌入方法和内容投影方法。
现实
应用程序嵌入默认值
不会被触发。
ng含量
),的子组件的更改检测
推送应用程序ng内容
触发,正如你在上面的stackblitz上看到的。