gpt4 book ai didi

javascript - 如何通过 AngularJS 向元素添加类并更改页面标题?

转载 作者:可可西里 更新时间:2023-11-01 13:12:16 24 4
gpt4 key购买 nike

所以,我最近偶然发现了一些很棒的框架,AngularJS

我真的很喜欢它,它似乎非常适合我,因此,在我继续前进之前,我需要做一些事情。

我希望能够更改页面的页面标题,基于

(a) 页面 URL,和/或

(b) 接收到的数据,比如正在提交的表单,而不是显示警报,页面标题会改变,页面内容可能会改变

此外,我希望根据当前页面的内容向菜单链接添加类。因此,如果当前页面是主页,我想添加一个类到 <li> “主页”元素,而不是其他元素,在“关于”上时,<li>该页面的元素应具有该导航项的事件类。

谢谢。

最佳答案

第一个需求可以通过利用 $routeParams 来解决。第二个是ngClass .

这是一个快速 example plunker让你开始:

Javascript

var app = angular.module('plunker', []);

app.config(function ($routeProvider) {
$routeProvider
.when('/', { template: '<p>Home page<p>'})
.when('/:title', { template: '<p>Page for {{ name }}</p>', controller: 'MainCtrl'})
.otherwise({
redirectTo: '/'
});
});

app.controller('MainCtrl', function ($scope, $routeParams) {
$scope.$on('$routeChangeSuccess', function (event, current, prev) {
$scope.name = $routeParams.title || 'World';
});
});

HTML

<!DOCTYPE html>
<html ng-app="plunker">

<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.0.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js" data-semver="1.0.8"></script>
<script src="app.js"></script>
</head>

<body>
<div ng-controller="MainCtrl">
<h2> Hello {{ name }}!</h2>
<ul class="nav-bar">
<li ng-class="name"><a href="#/Bob">Bob</a></li>
<li ng-class="name"><a href="#/Harry">Harry</a></li>
<li ng-class="name"><a href="#/">Home</a></li>
</ul>
</div>
<div ng-view></div>
</body>

</html>

CSS

.nav-bar {
display: block;
width: 100%;
}

.nav-bar li {
display: inline-block;
text-decoration: none;
width: 50px;
}

.Bob {
background-color: yellow;
}

.Harry {
background-color: orange;
}

关于javascript - 如何通过 AngularJS 向元素添加类并更改页面标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com