2015-06-18 27 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中所述。