我为角度应用程序创建了一个预加载器服务,它在顶部导航下方显示预加载器。我需要在从一条路线导航到另一条路线时显示预加载器以及应用程序中可用的所有路径。截至目前,我已在我的应用程序的所有路径中实现了预加载器服务。但是通过这种方法,我必须为所有路由重复编写相同的代码。我觉得必须有办法避免这种情况,但我无法找到确切的解决方案。
答案 0 :(得分:0)
在引导的Angular模块上提供服务,以便服务可全局访问(依赖注入将在每个组件上提供相同的实例)并且将在应用程序的整个生命周期内存在(Singelton),然后订阅'的 route.events 强>' (是一个Observable)在路线改变时通过不同的事件(NavigationStart,NavigationEnd等)得到通知。
当您需要阅读路由器配置时,请使用' router.config ' (是一个数组)。
在组件构造函数中添加service作为参数,并获取您需要显示的内容。