は、私は、カスタムポリマー2ビデオプレーヤーの要素を持っていると私はそれに適用するスタイルシートを定義するために、各要素のインスタンスにプロパティに渡す機能(別のテーマ名が毎年リリースされ、現在のスタイルの各セットをしたいです予測可能な命名形式を持つ独自のファイルにサーバー上に存在します)。私はインラインタグでいくつかの例を見ましたが、それは小さいスタイルのための許容可能な解決策にしか見えません(そうでなければ、そこにはたくさんのスタイルが詰まっています。どのようにテーマを適切に行うことができますか?ここでポリマー2の要素に適用するスタイルシートを動的に含めるにはどうすればよいですか?
は、私は2つの別々のHTMLファイルで、これまでに得たものです:
デモファイル(demo-page.html
)
<link rel="import" href="../my-video-player.html">
<my-video-player data="{...}" theme="2016"></my-video-player>
<my-video-player data="{...}" theme="2017"></my-video-player>
コンポーネントファイル(my-video-player.html
)
<dom-module id="my-video-player">
<template>
<link type="css" rel="import" href="css/[[theme]]/styles.css">
</template>
<script>
class MyVideoPlayer extends Polymer.Element {
...
}
</script>
</dom-module>
注:私は入れてみました上記のリンクタグはテンプレートタグの1レベル外にもありますが、それはうまくいきませんでした。
は今何が起こるかだけで2つのテーマのスタイルシートの一つは、私のコンポーネントの両方に適用されますです。代わりに最初のコンポーネントが2016.cssスタイルシートを適用し、2番目のコンポーネントが2017.cssスタイルシートを取得する必要があります。
私はあなたが(現在のブラウザで)スコープCSSことができるとは思いません。 '[theme = 2016]'をあなたのスタイルシートに追加できますか? – user3080953