深入淺析Vue組件開(kāi)發(fā)
前言
這里講的主要是想談?wù)劵赩ue的一個(gè)組件開(kāi)發(fā)。不得不說(shuō)的一點(diǎn)就是,在實(shí)際的Vue項(xiàng)目中,頁(yè)面中每一個(gè)小塊都是由一個(gè)個(gè)組件(.vue文件)組成,經(jīng)過(guò)抽離后,然后再合并一起組成一個(gè)頁(yè)面。由于上家公司我負(fù)責(zé)多的是可視化這一塊的開(kāi)發(fā),這邊我也將帶著大家進(jìn)行一個(gè)Vue項(xiàng)目中的可視化組件的開(kāi)發(fā),這里用到的框架將是主流的可視化框架highcharts。
一、Vue環(huán)境的搭建
1、Mac用戶
首先安裝包管理homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
再安裝node
brew install node
安裝vue
npm install vue
2、windows用戶
進(jìn)入nodejs官網(wǎng),然后下載對(duì)應(yīng)自己電腦系統(tǒng)的版本
安裝成功,安裝vue
npm install vue
最后查看一下自己node,npm,vue版本(失敗的話自行百度windows系統(tǒng)如何安裝node)。下圖是我目前node,npm及vue的版本
如果這里出問(wèn)題了,請(qǐng)全局安裝vue-cli
npm install -g vue-cli
二、Vue項(xiàng)目初始化
進(jìn)入你需要搭建Vue項(xiàng)目的目錄下執(zhí)行
vue init webpack my-vue-component
配置就按下圖進(jìn)行選擇
然后進(jìn)入到my-vue-component目錄執(zhí)行
# 下載項(xiàng)目的版本依賴 npm install
由于我家里的網(wǎng)絡(luò),需要翻墻的npm根本動(dòng)不了,這里我用的是淘寶鏡像進(jìn)行的依賴安裝,沒(méi)有淘寶鏡像的先安裝一下吧(實(shí)際項(xiàng)目中還是需要用npm,畢竟cnpm會(huì)忽略下載一些依賴的)
npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝完成,啟動(dòng)項(xiàng)目
npm run dev
OK,至此,Vue項(xiàng)目便搭建好了。
三、highchars的導(dǎo)入與搭建
首先通過(guò)cnpm進(jìn)行highchars的導(dǎo)入
cnpm install highcharts --save
導(dǎo)入完成后就可以進(jìn)行highchars的可視化組件開(kāi)發(fā)了
1、首先打開(kāi)自己初始化好的項(xiàng)目(這里我用的是sublime,實(shí)際開(kāi)發(fā)中我用的是atom)
在初始化好了的components目錄下新建一個(gè)chart.vue文件
接下來(lái)搭建chart組件的架子
<template> <div class="x-bar"> <div :id="id" :option="option"></div> </div> </template> <script> import HighCharts from 'highcharts' export default { // 驗(yàn)證類(lèi)型 props: { id: { type: String }, option: { type: Object } }, mounted() { HighCharts.chart(this.id,this.option) } } </script>
chart架子搭好后,開(kāi)始創(chuàng)建chart-options目錄,里面創(chuàng)建一個(gè)options.js用來(lái)存放模擬的chart數(shù)據(jù)
這里我模擬寫(xiě)了一個(gè)柱狀圖的數(shù)據(jù)
module.exports = { bar: { chart: { type: 'bar', }, series: [{ data: [50, 235, 809, 947] }] } }
四、引用chart組件
這里直接就把引用寫(xiě)到App.vue這么一個(gè)接口文件中吧
<template> <div id="app"> <x-chart :id="id" :option="option"></x-chart> </div> </template> <script> // 導(dǎo)入chart組件 import XChart from 'components/chart.vue' // 導(dǎo)入chart組件模擬數(shù)據(jù) import options from './chart-options/options' export default { name: 'app', data() { let option = options.bar return { id: 'test', option: option } }, components: { XChart } } </script> <style> #test { width: 400px; height: 400px; margin: 40px auto; } </style>
到這里,chart組件也引入成功,我們直接看一下最后頁(yè)面中顯示的效果吧
這里需要說(shuō)明一點(diǎn)的就是對(duì)于所有highchars組件的適用度。大家通過(guò)看我寫(xiě)的模擬數(shù)據(jù)也可以看出來(lái),這里我是把一些通用的屬性給直接忽略了。如果實(shí)際項(xiàng)目的開(kāi)發(fā)中需要的話,大家可以把通用的一些屬性的數(shù)據(jù)直接寫(xiě)到chart.vue文件中。通過(guò)props驗(yàn)證,寫(xiě)好default默認(rèn)值作為通用屬性。直接給大家看下我實(shí)際開(kāi)發(fā)當(dāng)中對(duì)于一些通用屬性的處理吧
這里還是需要看你們項(xiàng)目的需求,然后制定一套屬于自己的通用的屬性。然后再單獨(dú)對(duì)每個(gè)組件進(jìn)行操作。
以上所述是小編給大家介紹的Vue組件開(kāi)發(fā),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
詳解vue-cli 3.0 build包太大導(dǎo)致首屏過(guò)長(zhǎng)的解決方案
這篇文章主要介紹了詳解vue-cli 3.0 build包太大導(dǎo)致首屏過(guò)長(zhǎng)的解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11關(guān)于element-ui?select?下拉框位置錯(cuò)亂問(wèn)題解決
這篇文章主要介紹了關(guān)于element-ui?select?下拉框位置錯(cuò)亂問(wèn)題解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09vue?實(shí)現(xiàn)左滑圖片驗(yàn)證功能
網(wǎng)頁(yè)中滑動(dòng)圖片驗(yàn)證一直是各大網(wǎng)站、移動(dòng)端的主流校驗(yàn)方式,其主要作用是為了區(qū)分人和機(jī)器以及為了防止機(jī)器人程序暴力登錄或攻擊從而設(shè)置的一種安全保護(hù)方式,這篇文章主要介紹了vue?實(shí)現(xiàn)左滑圖片驗(yàn)證,需要的朋友可以參考下2023-04-04如何利用vue3實(shí)現(xiàn)放大鏡效果實(shí)例詳解
最近有項(xiàng)目需要用到對(duì)圖片進(jìn)行局部放大,類(lèi)似淘寶商品頁(yè)的放大鏡效果,經(jīng)過(guò)一番研究功能可用,下面這篇文章主要給大家介紹了關(guān)于如何利用vue3實(shí)現(xiàn)放大鏡效果的相關(guān)資料,需要的朋友可以參考下2021-09-09vue微信分享的實(shí)現(xiàn)(在當(dāng)前頁(yè)面分享其他頁(yè)面)
這篇文章主要介紹了vue微信分享,在當(dāng)前頁(yè)面分享其他頁(yè)面,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04vue實(shí)現(xiàn)指定日期之間的倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)指定日期之間的倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Element-UI中<el-cascader?/>回顯失敗問(wèn)題的完美解決
我們?cè)谑褂胑l-cascader控件往數(shù)據(jù)庫(kù)保存的都是最后一級(jí)的數(shù)據(jù),那如果再次編輯此條數(shù)據(jù)時(shí),直接給el-cascader傳入最后一級(jí)的數(shù)據(jù),它是不會(huì)自動(dòng)勾選的,下面這篇文章主要給大家介紹了關(guān)于Element-UI中<el-cascader?/>回顯失敗問(wèn)題的完美解決辦法,需要的朋友可以參考下2023-01-01