之前一直在写vue,然后就直接转到了angular项目,写angular代码的时候有过两个想法有关于constructor
(1)constructor的用作是不是用于本组件的私有化?
(2)constructor和ngOninit都可以进行赋值,区别是什么?
然后今天有时间来看文档了,对上面的疑问解答
一、constructor的作用
官方术语: 多个服务实例化(沙箱式隔离)
解释: 在组件树的同一级别上,有时需要一个服务的多个实例。每个组件都需要该服务的单独实例,每个服务都有自己的工作状态,与其他组件和状态隔离,这就叫做沙箱化,因为每个服务和组件实例都在自己的沙箱里运行。
自己的理解: 沙箱化貌似没有私有化说来更易理解,其他框架也有私有化,私有化更通俗易懂,在教程-教程:英雄之旅-添加服务-把它注入到HeroService标题内容中,官方也是说了在官方文档中添加私有属性,所以沙箱化说成私有化无伤大雅的
二、constructor和ngOninit赋值的区别
constructor: 组件构造函数的赋值,应该只把局部变量设置为简单的值,应该是既简单又安全,比如说异步走接口过去数据就不应该在这里执行,因为在创建组件或者决定显示它之前,新组件都不会尝试联系远程服务器
ngOnInit(): 是组件获取初始数据的好地方

Logo

前往低代码交流专区

更多推荐