2017-09-01 50 views

回答

4

Renderer2只是一個抽象。 如果使用通用(服務器端呈現)或WebWorkers,則不存在可用的DOM,並且直接訪問DOM的代碼只會導致異常。

如果您使用Renderer2,Angular可以使用其依賴注入功能提供不同的實現,以使您的代碼使用與代碼當前正在運行的平臺兼容的實現。

Renderer2是相當有限的,因爲所有的方法,只允許更新DOM,但沒有允許閱讀從DOM的任何信息。 如果您確實需要閱讀,則需要採取特殊措施以使其適用於Universal或WebWorker(例如,檢查當前平臺並跳過直接訪問DOM(如果它不是瀏覽器平臺)的代碼的執行,或者使用其他提供的代碼由目前的平臺)

+0

確切的說,它只是用來更新DOM,謝謝.. –