2016-05-10 5 views
1

私は角度2のテンプレートヘッドタグの最適な方法は何ですか? たとえば、私はビデオのリストを持っていて、ユーザが任意のビデオをクリックしたときに、ビデオのタイトルがタイトルタグに座るようにしたい。 Titleサービスがあるページタイトルを角2のテンプレートヘッドタグを作成する最良の方法は何ですか?

import {Injectable} from 'angular2/core'; 
    import {Title} from 'angular2/platform/browser'; 

    @Injectable() 
    export class SEOService { 

     private _default: any; 
     private _head: Element; 

     constructor(private _title: Title) { 
      this._head = document.querySelector('head'); 
     } 

     public setDefault(model: any) { 
      this._default = model; 
     } 

     public update(model: any) { 
      var title = this._default.title + (model.title ? ' | ' + model.title : ''); 
      var desc = model.description || this._default.description; 

      this._title.setTitle(title); 

      this.setMeta('description', desc); 
      this.setMeta('keywords', model.keywords || this._default.keywords); 


     } 

答えて

2

: は、私はこのような別のコンポーネントにサービスを作成し、使用などのいくつかのアイデアを持っています。他のメタタグやその他のグローバルなものについては、追加のサポートが予定されていますが、現在はタイトルサービスが利用可能です。

Titleクラスをインポートして、getTitle()setTitle()メソッドを使用してください。

+0

残念ながら、現在のところ、サーバー側のレンダリングでは機能しません。 – Failpunk

+0

私はサーバー側のレンダリングを使用しません。なぜそれは動作していないと思いますか? SSRはその存在の主な理由の1つです(Webワーカー以外にも) –

関連する問題