2015-12-22 24 views
7

Tôi nghĩ rằng nó phải được dễ dàng nhưng tôi không thể tìm thấy như thế nào.Góc 2.x thay đổi <title> trong đầu (bên ngoài ứng dụng của tôi)

Tôi có một cái gì đó giống như

<html> 
<head> 
    <title>{{'a' + 'b'}}</title> 
</head> 
<body> 
    <my-app>Loading...</my-app> 
</body> 
</html> 

Nó có vẻ như tôi không thể truy cập bất cứ điều gì ngoài my-app.

Trong góc 1.x thật dễ dàng, tôi có thể thêm ng-app trên bất kỳ phần tử nào (<html ng-app="myApp">).

Bây giờ tôi nghĩ rằng tôi chỉ có thể khởi động trong cơ thể.

Tôi biết tôi có thể khởi động bằng tay bằng cách nào đó (chưa thử), nhưng tự động thay đổi tiêu đề trong các ứng dụng trang đơn nên siêu dễ dàng, phải không?

Trả lời

8

Angular2 không thể khởi động được toàn bộ html. Nhưng bạn có thể sử dụng Title Service.

Dịch vụ có thể được sử dụng để lấy và đặt tiêu đề của tài liệu HTML hiện tại.

Nó có 2 phương pháp:

getTitle() 

setTitle() 

Đừng quên kiểm tra phần dependency injection ra để xem làm thế nào bạn có thể sử dụng các dịch vụ.

EDIT:

Tính đến phát hành (2.0.0), đây là cách bạn có thể làm điều đó:

import { Title } from '@angular/platform-browser'; 

export class SomeComponent { 
    constructor(title: Title) { 
    // title.getTitle(); 
    // title.setTitle('new title'); 
    } 
} 

Và các tài liệu cho các dịch vụ Title hiện nay ở đây: https://angular.io/docs/ts/latest/api/platform-browser/index/Title-class.html

+0

Cảm ơn, bạn đã trả lời câu hỏi của tôi. Nhưng vấn đề là tôi thực sự có vấn đề khác. Tôi chỉ cố gắng đặt câu hỏi phổ biến hơn. Bạn có thể xem xét vấn đề thực sự của tôi không: http://stackoverflow.com/questions/34430666/angular-2-x-bind-class-on-body-tag –

Các vấn đề liên quan