2016-09-27 60 views
1

我有多個頁面,我想爲每個頁面加載不同的CSS文件。Aurelia - 每頁加載一個CSS文件/ Scoped CSS

事情是這樣的:

status.html

<template> 
    <require from="./css/modules/status.css"></require> 
</template> 

cms.html

<template> 
    <require from="./css/modules/cms.css"></require> 
</template> 

但這不能正常工作。在狀態頁面加載時,我只有status.css文件,但是如果打開cms頁面,我將使用status.css,它將加載cms.css。

+0

[CSS管理與Aurelia CLI的可能重複︰每個視圖加載另一個CSS文件強制執行站點範圍導致衝突](http://stackoverflow.com/q uestions/39355900/CSS-同治-與最奧裏利亞-CLI-每 - 視圖 - 負載-另一個-CSS文件將要-enfo) – peinearydevelopment

回答

2

這就是Aurelia延遲加載資源的原理。每當加載視圖時,它所需的css文件都會加載到頁面中,即使您轉到其他視圖,它們也會保留在那裏。

您正在尋找的是ShadowDOM中存在的功能,但目前唯一支持該功能的瀏覽器是Chrome AFAIK。

另一種選擇是範圍的CSS,但它看起來像一個已經停產: http://caniuse.com/#feat=style-scoped

這個問題可能是你的興趣: https://github.com/aurelia/framework/issues/234

而對完整性的考慮,實際上是一個老校友方式的做法: https://css-tricks.com/saving-the-day-with-scoped-css/