2016-04-11 12 views
2

styleUrlsを使用して角度2コンポーネントにスタイルを追加する際にいくつか問題が発生しました。角2:現在のコンポーネントに対するstyleUrlsですか?

パス/ main.component.ts

@Component({ 
    selector: 'app-view', 
    styleUrls: ['./styles/style.css'], 
    template: //... 
}) 

パス/スタイル/ style.cssに

.main-wrapper { 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    right: 0; 
    left: 0; 
    background: red; } 

そして何も起こらない:ここで

は、私はそれを使用する方法です私のブラウザで。 私が試した:

  • 絶対パス
  • ルート・コンポーネントからの相対パス。

は私も試してみた:

  • './styles/style.css'のように異なる構文でこれを書くために、'styles/style.css'
  • style.css次の私のコンポーネントに移動します。

しかし、私はそれを動作させることはできません。

+3

: 'URLはアプリケーションルートを基準にしており、通常はアプリケーションをホストするindex.html Webページの場所です。スタイルファイルのURLはコンポーネントファイルとは関係ありません。そのため、サンプルURLがapp /から始まるのはこのためです。付録2を参照して、コンポーネントファイルに関連するURLを指定します(https://angular.io/docs/ts/latest/guide/component-styles.html#!#loading-style)。 – haim770

+0

ハハ。私は公式の文書を完全に忘れてしまった。私には恥ずべき、ありがとう。他の人がこの文書を読んでいない場合に備えて、私はこの回答を残しています:)。 –

+0

'moduleId:module.id'をコンポーネントデコレータに追加すると、URLは相対的になります。 – ArrayKnight

答えて

0

styleUrlsを使用しないでください。拡張子がscssのスタイルファイルの名前を変更するだけです。スタイルシートは自動的に使用されます!

したがって、私のコンポーネントのファイルは次のようになり、そしてスタイルで動作します:公式ドキュメントを引用

  • mycomponent.ts
  • mycomponent.html
  • mycomponent.scss
関連する問題