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

ElementRef

對檢視中某個原生元素的包裝器。

A wrapper around a native element inside of a View.

檢視"說明"...

安全風險

允許直接訪問 DOM 會導致你的應用在 XSS 攻擊前面更加脆弱。要仔細評審對 ElementRef 的程式碼。欲知詳情,參見安全

Permitting direct access to the DOM can make your application more vulnerable to XSS attacks. Carefully review any use of ElementRef in your code. For more detail, see the Security Guide.

      
      class ElementRef<T = any> {
  constructor(nativeElement: T)
  nativeElement: T
}
    

說明

ElementRef 的背後是一個可渲染的具體元素。在瀏覽器中,它通常是一個 DOM 元素。

An ElementRef is backed by a render-specific element. In the browser, this is usually a DOM element.

建構函式

      
      constructor(nativeElement: T)
    
引數
nativeElement T

屬性

屬性說明
nativeElement: T

背後的原生元素,如果不支援直接訪問原生元素,則為 null(比如:在 Web Worker 環境下執行此應用的時候)。

The underlying native element or null if direct access to native elements is not supported (e.g. when the application runs in a web worker).

當心!
Use with caution

當需要直接訪問 DOM 時,請把本 API 作為最後選擇。優先使用 Angular 提供的範本和資料繫結機制。或者你還可以看看 Renderer2,它提供了可安全使用的 API —— 即使環境沒有提供直接訪問原生元素的功能。

Use this API as the last resort when direct access to DOM is needed. Use templating and data-binding provided by Angular instead. Alternatively you can take a look at Renderer2which provides API that can safely be used even when direct access to native elements is not supported.

如果依賴直接訪問 DOM 的方式,就可能在應用和渲染層之間產生緊耦合。這將導致無法分開兩者,也就無法將應用發佈到 Web Worker 中。

Relying on direct DOM access creates tight coupling between your application and rendering layers which will make it impossible to separate the two and deploy your application into a web worker.