使用Angular

时间:2016-11-22 16:00:21

标签: angularjs typescript

我正在尝试使用我不太了解的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>

2 个答案:

答案 0 :(得分:2)

直接使用documentwindow并不是一个好主意。有一些更好的解决方案。

您自己的解决方案

如果您想使用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