如何在角度js中应用条件ui-views

时间:2016-05-19 15:17:45

标签: angularjs angular-ui-router

默认情况下,我想加载一个带有注册/登录选项的主页,此页面中没有页眉或页脚。一旦用户成功登录,我就会将用户重定向到loggedIn.html页面,页面中有一个固定的标题,侧边栏和页脚。

问题是当我加载主页时如何防止标题,侧边栏和页脚被应用。

Stateprovider:

var sidebar = {
    templateUrl: 'views/SideBar.html',
    controller: function ($scope) {
    }
};

$stateProvider
.state('Home', {
    url: "/Home",
    views: {
        sidebar: sidebar, //Commented this line out but didn't work
        content: {
            templateUrl: 'views/Home.html',
            controller: function ($scope) {
            }
        }
    }
})

如果您在上面的代码中看到,我注释了侧边栏视图的行,但它仍然占据了主页上的侧栏

HTML:

<div id="wrapper">

    <div ui-view="header"></div>   
    <div ui-view="sidebar"></div>    
    <div ui-view="content"></div>

</div>

<div ui-view="footer"></div>

1 个答案:

答案 0 :(得分:1)

使用基于$ state.current.name的ng-if,这样你的标题div标签看起来像这样:

<div ui-view="header" ng-if="$state.current.name!='home'">
相关问题