Angular UI路由器在导航到没有页脚的状态时运行页脚功能

时间:2016-02-08 16:37:16

标签: angularjs angular-ui-router

我正在使用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'
};

0 个答案:

没有答案