angularjs - 基于路由的Angular切换CSS类?

标签 angularjs

我有以下 HTML 文件:

<header ng-include="'app/partials/includes/header.html'"></header>

<div class="container" ng-controller="LoginCtrl">

</div>

以上为登录页面,以下为注册页面:

<header ng-include="'app/partials/includes/header.html'"></header>

<div class="container" ng-controller="RegisterCtrl">

</div>

这是标题:

<div class="navbar navbar-default navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle Navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a href="#" class="navbar-brand">Curve</a>
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right">
                <li class="active"><a href="#/register">Sign Up</a></li>
                <li><a href="#/login">Sign In</a></li>
            </ul>
        </div>
    </div>
</div>

如何根据路由将 .active 类应用于列表元素?

如果路由是/register,我希望应用事件类,登录时也是如此。

如何在 Angular 中完成此操作?

最佳答案

在任何元素上使用 ng-class 有条件地应用于元素。使用对象表示法,键是类名,值是一个表达式,当计算结果为 true 时,该类将添加到该元素的类属性中。

<div class="header" ng-controller="HeaderController">
  <div ng-class="{ active: registrationOrLogin }">

</div>

在 Controller 中:

app.controller("HeaderController", [ "$scope", "$location", function($scope, $location) {
    $scope.registrationOrLogin = $location.hash() == "/login" || $location.hash() == "/registration";
} ] );

关于angularjs - 基于路由的Angular切换CSS类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829461/

相关文章:

javascript - 在 AngularJS 中将 html 项目插入现有模板 HTML 有什么简单的方法?

c# - MVC6 默认页面

angularjs - 测试 Angular 指令时,isolateScope() 返回未定义

javascript - 从指令中的编译函数访问 Controller

javascript - angular指令jquery.dotdotdot,如何 chop 'animate'?

angularjs - Angular : Use Filter and OR Operator Pipe

angularjs - angularjs $超时没有延迟参数原因

javascript - 立即自调用函数上的 .call(this) 和 () 之间的差异

html - 只读文本区域以适应angularjs的内容

javascript - Angularjs $超时生成无限循环