2

私のアプリケーションでは、fire.css、lake.cssのようなCSSファイルがそれぞれ違っています。アプリ2の幅広いCSSを角度2で変更するには?

現在、私は今、私は、ユーザーがドロップダウンリストから選択して、これを動的に変更したいだけ1ファイルのmain.cssで実装し、
のindex.html

<link rel="stylesheet" href="resources/styles/main.css"> 
<link rel="stylesheet" href="resources/styles/themes.css"> 
<link rel="stylesheet" href="resources/styles/common.css"> 
<link rel="stylesheet" href="resources/styles/plugins.css"> 

にこのファイルを追加しました。

マイ・アイデア: すべてのCSSファイルをアプリ・フォルダにコピーしてそこにテーマを追加してください。
フォルダ構造は

アプリ
です| -----
app.component.ts | -----のmain.css
| | -----
をapp.routes.ts - --- lake.css
| -----ログイン
| -----その他のコンポーネント...

私はアプリケーションコンポーネントが今app.components.tsでstyleUrlsにCSSを追加しました

import { Component } from '@angular/core'; 
import { ROUTER_DIRECTIVES } from '@angular/router'; 

@Component({ 

    selector: 'workshop-app',  
    template: ` 
     <body> 
      <router-outlet></router-outlet> 
     </body> 
    `, 
    directives : [ ROUTER_DIRECTIVES ], 
    styleUrls : ['app/lake.css'] 
}) 
export class AppComponent { } 

Lake.cssのコンテンツは、スタイルタグに追加されていますが、アプリでは変更されていません。

+0

http://stackoverflow.com/a/36566111/2703334多分これは希望これはapp.component.tsに追加app.component.html

<head> <link id="theme" rel='stylesheet' href='demo.css'> </head> 

にこれを追加助けてください。 –

答えて

3

import { Component, Inject } from '@angular/core'; 
import { DOCUMENT } from '@angular/platform-browser';  
constructor (@Inject(DOCUMENT) private document) { } 
ngOnInit() { 
    this.document.getElementById('theme').setAttribute('href', 'demo2.css'); 
} 
+0

試してみました! –

+0

良い答え!!!プロジェクトはこの機能なしで提出されますが、私は空き時間に試してみます。 –

+0

あなたを助けてうれしい、あなたが幸運を祈って –

関連する問題