如何使用打字稿获取页面标题?

时间:2017-07-20 20:54:12

标签: angular typescript

我需要获取页面标题并将其写入变量。 我正在使用打字稿代码:

import { Component, OnInit } from '@angular/core';

@Component({
    selector: 'home',
    templateUrl: './home.component.html'
})
export class HomeComponent implements OnInit {

    title: string;

    ngOnInit() {
        console.log("Title is " + this.title);
        this.title === document.title;
    }
}

但我在控制台上收到“标题未定义”。

我也尝试过:

 title: string;

    ngOnInit() {
        this.title === this.titleService.getTitle();
        console.log("Title is " + this.title);
    }
    public constructor(private titleService: Title) { }
    getTitle() {
        this.titleService.getTitle();
    }

但结果是一样的。获取页面标题的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

你犯了几个错误。

  1. ===用于严格等同比较,而不是用于设置变量的值(更多关于===运算符可在此处找到:Difference between == and === in JavaScript)。
  2. 您是第一个显示变量,然后尝试“设置”(查看第1点)其值。
  3. 将您的代码更改为:

     ngOnInit() {
          this.title = document.title
          console.log(this.title)
     }
    

    或:

    ngOnInit() {
        this.title = this.titleService.getTitle();
        console.log("Title is " + this.title);
    }
    

答案 1 :(得分:0)

您可以使用@ angular / platform-b​​rowser中的标题提供程序。请参阅https://medium.com/@_ericmiller/setting-the-title-in-angular2-3c9379090527