ViewEncapsulation.None 和 :host, :host /deep/ 有什么区别?

Bha*_*pta 6 angular2viewencapsulation angular

我有一个 Angular 6 自定义表单控件,我将其创建为另一个控件的包装器,以便我们可以应用自己的 CSS 规则。

我已经删除了ViewEncapsulation这个包装器组件上的 ,以便我们可以挂接到现有表单控件生成的 css 类并覆盖规则。

encapsulation: ViewEncapsulation.None
Run Code Online (Sandbox Code Playgroud)

:host一位审稿人建议我使用和的组合,:host::ng-deep而不是使用ViewEncapsulation.None.

我不知道为什么这样会更好。有人可以解释一下吗?