我有一个有角度的webapp,我想要一个主页标题和所有其他页面的不同标题。我目前的html结构是
<html>
<body>
<ng-include="header.html">
<div data-ng-include="'header.html'"></div>
<section data-ui-view></section>
<div data-ng-include="'footer.html'"></div>
</body>
</html>
我想在页面是主页时包含header-home.html。我尝试在headerController中编写include的路径,并根据$ location.path()分配适当的值。但它只会在页面加载时运行一次。当ui-view改变它不会运行。我知道我可以使用ui-view在一个州中分配不同的视图,但我有很多路由,如果我想在所有视图中为标题添加新视图,需要更改很多配置文件。
有没有办法可以在app.run中包含相应的标题,以便每次路由更改时根据路由更改或运行标头控制器,或者如果未指定,则将默认视图分配给状态。?
答案 0 :(得分:1)
在app.run
侦听状态更改事件并根据状态更改设置$rootScope
中的标记。
在您的HTML中:
根据标记使用ng-if
并包含不同的标题模板。