整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          如何快速的寫出一個Vue的icon組件?這篇文章來教你

          隨著Vue的誕生,它似乎就被人寄予厚望,不僅僅是因為其輕量級的MVVM設計方式,而且其實現了組件化開發模式,所以越來越多的人會拿Vue和AngularJS、React Native做比較。具體關于它們的比較,我不做過多描述,使用哪個應該根據使用場景出發。

          Vue.js

          最近,因為有業務需要使用Vue去開發,所以我們需要自己封裝出Vue.js的各種常用組件。今天就給大家介紹一下我封裝Vue的icon組件的過程。當然這篇文章不是Vue.js,Webpack類的基礎教學課程,而是在大家有些基礎的情況下去看的。所以文章中只介紹了部分重點的代碼,以及代碼的截圖,如果有不大能看懂的地方可以先學下Vue和webpack的基礎。如果真的有需要可以在評論處評論,我可以出些Vue,Gulp,Webpack等基礎文章。

          icon組件外觀

          首先我們看一下icon組件運行出來后的模樣

          icon組件

          icon組件實現過程

          • 項目搭建

          icon組件實現后是一個可以直接使用的npm包,使用的是Yeoman構建工具,配和Gulp+Webpack,生成的工作目錄結構如下

          目錄結構

          (1)config文件夾下是webpack的配置文件

          (2)src下是Vue組件的源文件

          (3)example文件夾下是示例,剛看到的截圖就是example文件夾下的文件運行后的樣子

          • icon源文件編寫

          項目結構生成好后,編寫icon組件的源文件就是最重要的了。

          icon組件是一個.vue文件,其中包含template,style和script。

          我實現的icon組件樣式是借助于ionicons,所以要借助于ionicons的樣式文件,因此會有以下的代碼

          引入ionicons的樣式

          然后考慮icon組件應該具備的幾項屬性,一個是樣式,利用type變量去控制;一個是顏色,利用color變量去控制;一個是大小,利用size變量去控制。所以template中有以下代碼

          template代碼

          在script中有以下代碼

          script代碼

          同時預先定義好icon組件大中小的幾個樣式,因此在style中會有以下代碼

          style代碼

          至此icon組件的源碼編寫就結束了,但并不是整個工程就結束了,需要對webpack進行設置,而這也是最重要的部分。

          因為我們在icon組件的源碼中引入了ionicons的樣式,所以需要在webpack的配置文件中加入對css文件的解析loader,而css文件中又會引入woff,svg等文件,因此又要加入對這些文件的解析loader,如果不加入的對css,tff,svg等文件解析的話會報錯

          在webpack.base.js文件中加入以下代碼

          webpack的配置

          • 樣例的訪問

          在源文件和webpack配置好后,就可以通過在example文件夾下寫demo了。

          在demo.vue文件中,使用<icon>標簽即可訪問到自定義的icon組件

          icon組件的例子

          通過type,size,color三個參數來定義我們需要的icon組件的樣式,運行出來后的例子就如一開始運行出來的一樣,是不是很好看呢?

          總結

          Vue的組件還有很多,例如form表單類的,View視圖類,Navigation導航類等,都需要一個個去編寫,不過只要我們搞懂Vue的運行模式和Webpack的編譯模式就可以很方便的寫出來了。

          如果喜歡的話,記得關注小編噢,小編后續會堅持出更多技術性的文章,如果有任何問題,也歡迎提問,小編都會盡力解答的。

          容導讀

          特點: 兼容性良好,支持ie8+,及所有現代瀏覽器。相比于unicode語意明確,書寫更直觀。不過因為本質上還是使用的字體,所以多色圖標還是不支持的。這是一種全新的使用方式,應該說這才是未來的主流,也是平臺目前推薦的用法。支持多色圖標了,不再受單色限制。通過一些技巧,支持像字體那樣,通過 font-size , color 來調整樣式。

          首先因為elementUI提供的icon太少了,所有自己找找有沒有矢量圖可以補充的,嘗試多種方法,覺得下面方法簡單易懂,分享給大家

          推薦使用阿里爸爸矢量圖標管理,??

          image.png

          將圖像元素設置為圖標化的等價物:

          img

          {

          content:icon;

          icon:url(imgicon.png);

          }


          瀏覽器支持

          沒有主流瀏覽器支持icon屬性。


          屬性定義及使用說明

          icon 屬性為創作者提供了將元素設置為圖標等價物的能力。

          注意:元素的圖標是不可使用,除非"content"屬性設置為"icon"!

          默認值:auto
          繼承:no
          版本:CSS3
          JavaScript 語法:object.style.icon="url(image.png)"

          語法

          icon: auto|URL|inherit;

          描述
          auto使用由瀏覽器提供的默認通用圖標。
          URL引用列表中的一個或多個圖標,列表用逗號分隔。
          inherit規定應從元素繼承 icon 屬性的值。

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!


          主站蜘蛛池模板: 久热国产精品视频一区二区三区| 老熟妇高潮一区二区三区| 国产精品无码一区二区三级| 无码毛片视频一区二区本码| 国模精品视频一区二区三区| 无码人妻精品一区二区三区99仓本| 国内精品视频一区二区八戒| 99精品国产高清一区二区| 国产高清在线精品一区小说 | 免费无码AV一区二区| 久久精品亚洲一区二区三区浴池| 国产亚洲一区二区三区在线观看| 久久亚洲AV午夜福利精品一区| 一区二区三区AV高清免费波多| 精品免费国产一区二区| 中文字幕精品一区二区| 亚洲天堂一区在线| 国产成人久久精品一区二区三区 | 国产裸体舞一区二区三区| 久久久老熟女一区二区三区| 无码人妻精品一区二区三区99仓本 | 国产情侣一区二区| 亚洲精品无码一区二区| 久久精品一区二区三区AV| 无码人妻精品一区二区三区久久 | 91国偷自产一区二区三区| 无码人妻精品一区二区在线视频 | 精品视频一区二区| 国产精品视频无圣光一区| 精品人妻无码一区二区色欲产成人| 久久久久99人妻一区二区三区| 国精产品一区二区三区糖心| 岛国精品一区免费视频在线观看| 日本韩国黄色一区二区三区| 国产一区二区三区四| 国产成人一区二区三区高清| 一区二区三区免费在线视频| 日韩精品无码久久一区二区三| 波多野结衣一区二区三区88| 国产在线无码视频一区| 福利在线一区二区|