我正在尝试使用我不太了解的Angular应用程序。它使用TypeScript Angular 1.5。我需要能够更改页面标题。这是我必须要合作的。如果没有指定ng-app,我不确定它是如何工作的,但它确实有效。
有没有办法动态设置头部的标题?或者我需要将ng-controller attr更改为html元素?如果是这样,它怎么会影响系统?
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>MySajt</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/styles.css" rel="stylesheet">
</head>
<body ng-controller="AppController as vm" ng-class="{ 'v-dolj-overflow': vm.togglaScroll }">
<my-header></my-header>
<div class="v--header-offset" ui-view></div>
<script src="js/app.js"></script>
<script src="js/angular-locale_sv.js"></script>
</body>
</html>
答案 0 :(得分:2)
直接使用document
或window
并不是一个好主意。有一些更好的解决方案。
如果您想使用plain old JavaScript
,则必须至少使用$document或$window个提供商来实施它。
使用它们的原因是:AngularJS提供程序是可测试的。如果您为应用程序编写测试,则可以模拟$document
或$window
。因此,您将能够通过单元测试覆盖所有方法和行。
其中一个解决方案是使用一些自定义模块。举个例子:http://ngmodules.org/modules/ngTitle。那里的模块代码不多。
答案 1 :(得分:0)
无论控制器在哪里,您都应该能够使用document.title
完成此任务
https://developer.mozilla.org/en-US/docs/Web/API/Document/title