首页 > 解决方案 > Angular Router 将数据传递给组件

问题描述

使用角度路由器将数据传递给组件是一种好习惯,还是应该使用服务?

目前组件获取的数据如下:

this.account = activatedRoute.snapshot.data.account

标签: javascriptangulartypescriptrefactoringangular-routing

解决方案


有几种方法可以将数据传递给角度组件。

对于像用户帐户这样的对象,我会使用提供者(在组件初始化时准备好它)、服务(用于在应用程序周围共享)或守卫(例如,如果您想在未登录时导航出去)。

当我想在不同的路由中重用相同的组件并给它一些关于行为的提示时,我会使用路由器数据。

我遇到的另一个用例是使用激活的路由定义全局应用程序状态。每个路由可以定义它的数据,一个服务监听路由器事件并存储合并状态。它可以帮助我使用大型应用程序对标题、元数据、工具栏和菜单可见性等进行基于路由的配置......


推荐阅读