2016-05-18 48 views
6

我正在研究一个简单的Angular 2应用程序,并且我目前拥有的路线是/ login,/ register,/ home和/ profile。更改Angular 2中的路径更改中的页眉和页脚内容

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

我已经研究过子路由(并计划用于内容部分中的一些路由),但我不确定这是否是最好的方法,或者甚至是可能的。我已经完成的儿童路由研究是来自John Papa的Angular 2课程,这里是他的示例plunker:http://a2-first-look.azurewebsites.net/examples/router-child/plnkr.demo.html?bust=1463590738850

我还探讨了订阅Header和Footer组件中的路由器更改,并使用*ngIf呈现不同的html。这种方法似乎创造了一个全新的服务SO 1,但这个似乎更直接一点SO 2。我想我可以只用本地路由器指令做些什么?

任何帮助或正确的方向点将不胜感激!由于

回答

1

你可以把这个到你的运行阻滞:

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

当然,你必须通过SomeService您运行功能,以及。

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