所以,我正在使用ui-router和index.html作为我的布局,在其中我有这个div会附加其他页面,例如:
我有这个HTML,这是我的layout.html:
<html ng-app="myApp">
<head>
<title> My layout.html </title>
</head>
<body>
<nav>
I have this NAVBAR
</nav>
<div ui-view></div>
</body>
</html>
因此,如果我访问页面'posts',Angular会将代码附加到<div ui-view></div>
没什么不寻常的,对吧?
问题是..我有一个404.html模板文件,我不想显示导航栏。如果页面是404.html,可以取消或隐藏导航栏吗?
答案 0 :(得分:3)
我会为导航部分创建一个控制器。
.controller('NavCtrl', function($scope, $state) {
$scope.$state = $state;
})
然后在当前状态为404时隐藏导航:
<nav ng-controller="NavCtrl" ng-hide="$state.current.name == '404'">
I have this NAVBAR
</nav>