2
我有一個自定義的Polymer 2視頻播放器元素,我希望能夠將屬性傳遞給每個元素實例,以便定義應用於它的樣式表(每年發佈不同的主題名稱,並且每個樣式集當前存在於服務器中的文件中,它具有可預測的命名格式)。我看到了一些內聯標籤的例子,但這似乎只是小樣式的可接受的解決方案(否則它會失去控制,因爲我會將所有樣式都塞進去,其中有很多)。我如何正確地執行主題?如何動態地將樣式表應用於Polymer 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>
注:我試着把上面的鏈接標記模板標記以外的一個級別,但那不起作用。
現在發生什麼只是兩個主題樣式表中的一個應用於我的兩個組件。我需要的是第一個組件將2016.css樣式表應用到它,而第二個組件獲取2017.css樣式表。
我不認爲你可以範圍CSS(在當前的瀏覽器)。你可以在樣式表中添加'[theme = 2016]'嗎? – user3080953