我有2个模块:root模块和授权模块(延迟加载)。根模块有页脚块,我想隐藏在" auth"路线。我试图通过模块路由传递数据,例如:
{path: 'auth', component: AuthComponent, data: {hideFooter: true}}
但根模块组件无法找到数据,它总是{}
。我只能在auth组件中获取此数据。我怎么能这样做,或者有另一种方法来解决我的问题?
答案 0 :(得分:1)
一种方法是为根模块和authcomponent使用不同的布局。
使用auth组件获取数据
constructor(route: ActivatedRoute) {
const hideFooter= route.snapshot.data.hideFooter;
}
答案 1 :(得分:0)
对于Angular 4,here你有Angular Doc来解决你的问题。
如果您只想通知两个组件,请参阅Angular doc中的“component-interaction”。
此外,here您还遇到了另一个类似的问题。
答案 2 :(得分:0)
快速的方法是在您的app组件中放置if条件
<navbar></navbar>
<router-outlet></router-outlet>
<footer *ngIf="router.url !== 'auth'"></footer>
您还需要在ts文件中导入路由器
或
app.component.ts
let routes = ['auth', 'someOther']
this.showFooter = routes.indexOf(this.router.url) < 0
然后你的html变成了
<navbar></navbar>
<router-outlet></router-outlet>
<footer *ngIf="showFooter"></footer>