更改Angular中的路径更改中的页眉和页脚内容

时间:2016-05-18 17:08:04

标签: angular

我正在开发一个简单的Angular 2应用程序,我目前拥有的路由是/ login,/ register,/ home和/ profile。

在主应用程序组件上,我有一个<header>部分,一个<content>部分和一个<footer>部分。我目前在<router-outlet></router-outlet>部分中有content,但也希望(有时)更改headerfooter组件中的某些内容当content部分中有不同的内容时。

我已经研究了子路由(并计划在内容部分中使用某些路由),但我不确定这是否是最好的方法,甚至可能。我所做的儿童路线研究来自John Papa的Angular 2课程,这是他的榜样:http://a2-first-look.azurewebsites.net/examples/router-child/plnkr.demo.html?bust=1463590738850

我还探讨了在Header和Footer组件中订阅路由器的更改,并使用*ngIf呈现不同的html。这种方法似乎创建了一个全新的服务SO 1,但这个似乎更直接SO 2。我想我可以用原生的Router指令做一些事情吗?

任何帮助或正确方向的观点都将不胜感激!感谢

1 个答案:

答案 0 :(得分:1)

你可以将它放入你的跑步区:

$rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
    SomeService.header.dynamicText = 'Hello, World'
    SomeService.footer.dynamicText = 'Contact Us'
})

当然,您也必须将SomeService传递给您的跑步功能。

更多关于这个方便的小服务here