/deep/ ::ng-deep 和有什么区别?

Jey*_*ani 3 css sass angular

你能告诉我,下面两种 scss 样式之间的区别吗?我对此没有明确的想法。

:host {
  display: inline-block;

  /deep/ {
    span {
      color: red;
    }
  }
}

:host {
  display: inline-block;

  ::ng-deep {
    span {
      color: red;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Gün*_*uer 5

主要的区别是,::ng-deepSASS 支持,而对 的支持/deep/被删除。这就是为什么::ng-deep除了添加到 Angular 之外/deep/

除此之外,两者都在 Angular 中被弃用,因为当所有浏览器中的原生 shadow DOM 支持变得可用时,它们可能会删除 ViewEncapsulation.Emulated