填寫這份《一分鐘調查》,幫我們(開發組)做得更好!去填寫Home

ViewEncapsulation

定義可用於 Component 的 Component的範本和樣式封裝選項。

Defines template and style encapsulation options available for Component's Component.

檢視"說明"...

      
      enum ViewEncapsulation {
  Emulated: 0
  None: 2
  ShadowDom: 3
}
    

說明

請參閱 encapsulation

See encapsulation.

成員列表

成員說明
Emulated: 0

透過向宿主元素新增包含替代 ID 的屬性並預處理透過 stylesstyleUrls 提供的樣式規則,來模擬 Native 所有選擇器。

Emulate Native scoping of styles by adding an attribute containing surrogate id to the Host Element and pre-processing the style rules provided via styles or styleUrls, and adding the new Host Element attribute to all selectors.

這是預設選項。

This is the default option.

None: 2

不要提供任何範本或樣式封裝。

Don't provide any template or style encapsulation.

ShadowDom: 3

使用 Shadow DOM 封裝樣式。

Use Shadow DOM to encapsulate styles.

對於 DOM,這意味著使用現代的 Shadow DOM 並為元件的 Host 元素建立 ShadowRoot。

For the DOM this means using modern Shadow DOM and creating a ShadowRoot for Component's Host Element.

使用說明

例子

Example

@Component({ selector: 'my-app', template: ` <h1>Hello World!</h1> <span class="red">Shadow DOM Rocks!</span> `, styles: [` :host { display: block; border: 1px solid black; } h1 { color: blue; } .red { background-color: red; } `], encapsulation: ViewEncapsulation.ShadowDom }) class MyApp { }
      
      @Component({
  selector: 'my-app',
  template: `
    <h1>Hello World!</h1>
    <span class="red">Shadow DOM Rocks!</span>
  `,
  styles: [`
    :host {
      display: block;
      border: 1px solid black;
    }
    h1 {
      color: blue;
    }
    .red {
      background-color: red;
    }

  `],
  encapsulation: ViewEncapsulation.ShadowDom
})
class MyApp {
}