4

私はタイプスクリプトでこのコンポーネント定義を持っています:

import {Component, ViewEncapsulation} from 'angular2/core';

@Component({
    selector: 'my-app',
    templateUrl: '/views/sandbox.html',
    styleUrls: ['/styles/sandbox.css'],
    styles: [`.wow { background-color: red; }`],
    encapsulation: ViewEncapsulation.Emulated
})
export class SandBox { }

この記事によると: http://blog.thoughtram.io/angular/2015/06/25/styling-angular-2-components.html スタイルセクションと外部スタイルシートの両方のスタイルをヘッダーにインライン化する必要があります角度によって。

残念ながら、2 番目は注入されず、angular はスタイル セクションの 1 つだけを注入します。

ブラウザから /styles/sandbox.css にアクセスしてみましたが、問題ありません。Angular は /views/sandbox.html にもアクセスできるため、なぜアクセスできないのかわかりません。

私が使用している: "angular2": "2.0.0-beta.2" (最新のベータ版 AFAIK)

4

3 に答える 3

10

属性sandbox.css内で相対パスを使用する場合にのみ適用されるいくつかのテストと奇妙なスタイルを作成しました。styleUrls

@Component({
  selector: 'my-app',
  templateUrl: '/views/sandbox.html',
  styleUrls: ['../styles/sandbox.css'],
  styles: [`.wow { background-color: red; }`],
  encapsulation: ViewEncapsulation.Emulated
})
export class AppComponent {
  constructor() {
  }
}

編集

ソース コードを確認した後、Angular2 はstyleUrls. 次の行を参照してください。

お役に立てば幸いです、ティエリー

于 2016-02-04T10:05:31.560 に答える
1

これを修正する最善の方法は、コンポーネントに別の css ファイルを使用し、それを StyleUrls リストに追加することです。よりクリーンで、コンポーネントの成長に合わせてスケーリングします。

于 2016-02-04T11:50:23.853 に答える