2017-09-01 54 views

回答

4

Renderer2只是一个抽象。 如果使用通用(服务器端呈现)或WebWorkers,则不存在可用的DOM,并且直接访问DOM的代码只会导致异常。

如果您使用Renderer2,Angular可以使用其依赖注入功能提供不同的实现,以使您的代码使用与代码当前正在运行的平台兼容的实现。

Renderer2是相当有限的,因为所有的方法,只允许更新DOM,但没有允许阅读从DOM的任何信息。 如果您确实需要阅读,则需要采取特殊措施以使其适用于Universal或WebWorker(例如,检查当前平台并跳过直接访问DOM(如果它不是浏览器平台)的代码的执行,或者使用其他提供的代码由目前的平台)

+0

确切的说,它只是用来更新DOM,谢谢.. –