3

これまでコンポーネントのカプセル化がエミュレートされている限り、Angular 4+プロジェクトでMaterialのアイコンフォントを使用しました。現在のプロジェクトではChromeの最新バージョンをサポートするだけで済みますので、すべてのコンポーネントをViewEncapsulation.Nativeに設定しようとしていましたが、これはブラウザのネイティブShadowDOMを使用していることがわかります。しかし、自分のコンポーネントでレンダリングするマテリアルアイコンフォントを取得できません。Angularコンポーネントのカプセル化がネイティブに設定されたMaterialアイコンフォントを使用

:ネイティブに設定されたカプセル化を使用して、私はアイコンフォントを使用してレンダリングされていない次のことを、持っている、

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 

そして、私の検索コンポーネントで:

は私のindex.htmlファイルで、私は次のようにフォントが含まれています

<md-icon>search</md-icon> 

Angularのネイティブカプセル化でアイコンフォントを使用したことがありますか?

+0

マテリアルモジュールをインストールしましたか? –

+0

フルコードとエラーがコンソールに表示されますか? – Edric

+0

はい、材料モジュールがインストールされています。 Emulationにカプセル化を設定するとうまく動作します。ネイティブに設定すると、エラーはなく、単にアイコンが表示されません。検索アイコンの代わりにテキスト「検索」が表示されます。ネイティブのShadowDOMが原因だと分かりますが、素材アイコンをネイティブカプセル化でどのように使用しますか? – Jeremy

答えて

0

私はあなたと同じ問題を抱えていました。それを解決することができます。あなたの開始コンポーネントであるAppComponentがあるとしましょう。

encapsulation: ViewEncapsulation.None 

をそしてAppComponentスタイルで、あなたは全体のアプリで使いたいスタイルを追加することができます。

があります。

関連する問題