我正在使用ui-router构建一个Angular 1.x应用程序。当我导航到状态'a'时,标题,内容和页脚正确加载。当我导航到状态'b'时,footer.getLabel在'b'内容加载后运行,即使该状态没有页脚的ui-view。有什么想法吗?
http://jsfiddle.net/rsmclaug/vhrh0av5/
index.html代码段
<header ui-view="header"></header>
<div ui-view="content"></div>
<footer ui-view="footer"></footer>
路由配置代码段
.state('a', {
url: '/a',
views: {
header: {
templateUrl: '/header.html',
controller: 'HeaderController',
controllerAs: 'header'
},
content: {
templateUrl: '/content.html',
controller: 'ContentController',
controllerAs: 'content'
},
footer: {
templateUrl: '/footer.html',
controller: 'FooterController',
controllerAs: 'footer'
}
}
})
.state('b', {
url: '/b',
views: {
header: {
templateUrl: '/header.html',
controller: 'HeaderController',
controllerAs: 'header'
},
content: {
templateUrl: '/content.html',
controller: 'ContentController',
controllerAs: 'content'
},
footer: {}
}
});
footer.html代码段
<button>{{footer.getLabel()}}</button>
footer.js片段
footer.getLabel = function(){
// Executes when arriving at state 'b' from 'a'
};