为了账号安全,请及时绑定邮箱和手机立即绑定

angular 6.x关于多个组件共享状态

angular 6.x关于多个组件共享状态

DIEA 2019-05-12 15:38:58
angular6.x新手,最近在使用过程中碰到如下问题,有没有熟悉的大神来分享一下经验angular中如何多组件共享一个状态,在vue等中可以采用Flux架构体系,官方也有提供对应的库如(VUEX),那么在angular中如何兄弟组件,或者父组件与孙组件间的数据共享(排除中间组件做转发的方法,感觉扩展性不好,不易维护。)在angular中service服务应该如何理解?个人目前的感觉很类似vue中的mixins,就是一段通用的方法,在组件内导入注册即可使用,并且不同组件倒入相同service不会共享数据。在中大型项目中angualr项目肯定会面临多组件共享状态,那么在中大型项目中应该如何处理?或者你们都是采用什么样的方案在路由中鉴权应该用什么办法去处理比较好?比如:未登录的话,不能进入某些页面,可以的话希望可以提供对应的demo
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

具体的实现细节,因为时间关系提供不了,简单罗列几个解决方案的方向。
你说的多组件共享状态,看起来是redux的概念,angular也有这些实现,如果你习惯redux的话可以看看ngrx这些库也许能给你答案。
事实上angular2的代码中没有service的概念,只是因为习惯的原因很多命名会用service来命名,它们是一种可注入的对象或值,也可以是方法(Angular中的依赖注入),service会有自己的作用域,在模块中注册的service会与模块中的所有成员共享service的实例,如果其中一个组件自己又注册了这个service,那么这个组件注入进来的service实例是一个新的实例,模块之间也类似,除此之外更多的资料可以参考前面的链接。
同1
鉴权用守护(Guard)来做,支持同步,异步(Promise,Observable)-参考链接。
                            
查看完整回答
反对 回复 2019-05-12
  • 2 回答
  • 0 关注
  • 591 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号