Angular是否具有像React这样的特定于浏览器的生命周期钩子?

时间:2017-02-08 19:01:41

标签: javascript angular reactjs

例如React' componentWillMount()

  

这是在服务器渲染上调用的唯一生命周期钩子。通常,我们建议改为使用constructor()

在React的componentDidMount()

  安装组件后立即调用

componentDidMount()。需要DOM节点的初始化应该在这里。

但是我没有在Angular doc中看到任何指定在服务器上执行哪些以及在浏览器上执行哪些(或两者)的内容。或者我应该假设所有这些都在两者上执行?如果是这样,你如何做需要DOM(窗口,文档等)的事情?

1 个答案:

答案 0 :(得分:1)

不,它没有。它运行相同的钩子。

您可以使用大量设备来避免与纯DOM接触,例如HostBinding和HostListener装饰器,Renderer和ElementRef类。请记住,Angular 2是一个高抽象工具。虽然有可能,但它并没有促进对DOM的访问。此外,对于服务器端呈现,当服务器和客户端有不同的实现时,DI也可以解决问题。

了解Angular Universal,了解有关https://github.com/angular/universal的服务器端呈现的更多信息。

如果没有回答您的问题,请提出更具体的问题。