2015-06-18 69 views
1

我從今天上午的網絡研討會獲得了Salesforce設計系統試點。我將這個軟件包(as'sds.zip')作爲一個靜態資源上傳。我打電話(後「的CSS」在.cmp文件)其中:將閃電組件中的CSS作爲靜態資源加載?

<link href='/resource/sds/index.scss' rel="stylesheet"/> 

然而,當我嘗試保存我的錯誤:

Failed to save undefined: No COMPONENT named markup://use found : [markup://c:contactList]: Source 

我認爲「使用「錯誤是refrence這個代碼塊,這就是後來在.cmp文件:

<svg aria-hidden="true" class="icon icon--large icon-standard-user"> 
    <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#user" /> 
</svg> 

我認爲我正確導入CSS,什麼是應該做的正確方法?

回答

0

您正在正確導入CSS。這是從Lightning組件內部完成的方式。從Visualforce頁面中您可以做到<apex:stylesheet value="{!URLFOR($Resource.sds, '/resource/sds/index.css')}" />

問題不在於CSS導入,而在於VF不理解組件內部的usesvg標籤。要使Visualforce正確解析標籤,您需要通過添加<html xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">行以及末尾匹配的結束標籤來聲明名稱空間。如果你只是把它放在VF中,並且你在VF中使用svg標籤,這工作正常。

但是,如果要將svg標記放入Lightning組件內,則需要爲其創建一個單獨的svg組件,如tutorial中所述。