深入浅析Vue组件开发


Posted in Javascript onNovember 25, 2016

前言

这里讲的主要是想谈谈基于Vue的一个组件开发。不得不说的一点就是,在实际的Vue项目中,页面中每一个小块都是由一个个组件(.vue文件)组成,经过抽离后,然后再合并一起组成一个页面。由于上家公司我负责多的是可视化这一块的开发,这边我也将带着大家进行一个Vue项目中的可视化组件的开发,这里用到的框架将是主流的可视化框架highcharts。

一、Vue环境的搭建

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用户

进入nodejs官网,然后下载对应自己电脑系统的版本

深入浅析Vue组件开发

安装成功,安装vue

npm install vue

最后查看一下自己node,npm,vue版本(失败的话自行百度windows系统如何安装node)。下图是我目前node,npm及vue的版本

如果这里出问题了,请全局安装vue-cli

npm install -g vue-cli

二、Vue项目初始化

进入你需要搭建Vue项目的目录下执行

vue init webpack my-vue-component

配置就按下图进行选择

深入浅析Vue组件开发

然后进入到my-vue-component目录执行

# 下载项目的版本依赖
npm install

由于我家里的网络,需要翻墙的npm根本动不了,这里我用的是淘宝镜像进行的依赖安装,没有淘宝镜像的先安装一下吧(实际项目中还是需要用npm,毕竟cnpm会忽略下载一些依赖的)

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完成,启动项目

npm run dev

OK,至此,Vue项目便搭建好了。

三、highchars的导入与搭建

首先通过cnpm进行highchars的导入

cnpm install highcharts --save

导入完成后就可以进行highchars的可视化组件开发了

1、首先打开自己初始化好的项目(这里我用的是sublime,实际开发中我用的是atom)

在初始化好了的components目录下新建一个chart.vue文件

接下来搭建chart组件的架子

<template>
<div class="x-bar">
<div :id="id"
:option="option"></div>
</div>
</template>
<script>
import HighCharts from 'highcharts'
export default {
// 验证类型
props: {
id: {
type: String
},
option: {
type: Object
}
},
mounted() {
HighCharts.chart(this.id,this.option)
}
}
</script>

chart架子搭好后,开始创建chart-options目录,里面创建一个options.js用来存放模拟的chart数据

这里我模拟写了一个柱状图的数据

module.exports = {
bar: {
chart: {
type: 'bar',
},
series: [{
data: [50, 235, 809, 947]
}]
}
}

四、引用chart组件

这里直接就把引用写到App.vue这么一个接口文件中吧

<template>
<div id="app">
<x-chart :id="id" :option="option"></x-chart>
</div>
</template>
<script>
// 导入chart组件
import XChart from 'components/chart.vue'
// 导入chart组件模拟数据
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组件也引入成功,我们直接看一下最后页面中显示的效果吧

深入浅析Vue组件开发

这里需要说明一点的就是对于所有highchars组件的适用度。大家通过看我写的模拟数据也可以看出来,这里我是把一些通用的属性给直接忽略了。如果实际项目的开发中需要的话,大家可以把通用的一些属性的数据直接写到chart.vue文件中。通过props验证,写好default默认值作为通用属性。直接给大家看下我实际开发当中对于一些通用属性的处理吧

深入浅析Vue组件开发

这里还是需要看你们项目的需求,然后制定一套属于自己的通用的属性。然后再单独对每个组件进行操作。

以上所述是小编给大家介绍的Vue组件开发,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
document 和 document.all 分别什么时候用
Jun 22 Javascript
不一样的文字闪烁 轮番闪烁
Nov 11 Javascript
new Date()问题在ie8下面的处理方法
Jul 31 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
Jun 10 Javascript
javascript实现简单的页面右下角提示信息框
Jul 31 Javascript
vue使用技巧及vue项目中遇到的问题
Jun 04 Javascript
解决vue打包css文件中背景图片的路径问题
Sep 03 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
从理论角度讨论JavaScript闭包
Apr 03 Javascript
JS async 函数的含义和用法实例总结
Apr 08 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
May 13 Javascript
javascript中href和replace的比较(详解)
Nov 25 #Javascript
移动适配的几种方案(三种方案)
Nov 25 #Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
Nov 25 #Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
Nov 25 #Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
Nov 25 #Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
Nov 25 #Javascript
Bootstrap文件上传组件之bootstrap fileinput
Nov 25 #Javascript
You might like
PHP数据流应用的一个简单实例
2012/09/14 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
Mootools 1.2教程 事件处理
2009/09/15 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
js 通用订单代码
2013/12/23 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
python的中异常处理机制
2018/08/30 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
总经理助理的职责
2014/03/14 职场文书
婚前协议书范本
2014/04/15 职场文书
感恩教育活动总结
2014/05/05 职场文书
cf战队收人口号
2014/06/21 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
2014年医生工作总结
2014/11/21 职场文书
股权转让协议范本
2014/12/07 职场文书
党支部先进事迹材料
2014/12/24 职场文书
检讨书格式
2015/05/07 职场文书
幽默导游词开场白
2015/05/29 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
技术转让协议书
2016/03/19 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫
python中数组和列表的简单实例
2022/03/25 Python