AngularJS可变导航栏

时间:2016-01-19 20:37:33

标签: angularjs

我正在取消两个bootstrap导航栏类,默认为navbar-default,但在顶部有全宽图像的某些页面上,我需要更改navbar-inverse的导航栏类。

我试图在$ scope中设置一个值,但导航栏在我的ui-view之外,所以它不起作用。我是Angular的新手,所以我不知道很多功能,所以可能有一个非常简单的方法。

在我的页面加载中,我需要为导航栏状态设置默认值?然后每个页面控制器都会设置导航栏状态吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我会为导航栏创建一个控制器,用于确定条件。

<nav class="navbar" ng-class="{'navbar-default': condition, 'navbar-inverse': !condition}" ng-controller="navbarCtrl">
    ...
</nav>

<div ui-view></div>

否则,如果条件取决于页面控制器,我会将$rootScope注入我可以定义全局变量的控制器。

// in your controller
$rootScope.fullWidthImage = true;
<!-- in your template -->
<nav class="navbar" ng-class="fullWidthImage ? 'navbar-inverse' : 'navbar-default'">
</nav>