深入浅析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 相关文章推荐
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
Sep 14 Javascript
js 连接数据库如何操作数据库中的数据
Nov 23 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
Jan 10 Javascript
Javascript实现多彩雪花从天降散落效果的方法
Feb 02 Javascript
改变checkbox默认选中状态及取值的实现代码
May 26 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 Javascript
世界上最短的数字判断js代码
Sep 09 Javascript
功能完善的小程序日历组件的实现
Mar 31 Javascript
vue路由跳转传递参数的方式总结
May 10 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
Jul 31 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和.net中des加解密的实现方法
2013/02/27 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
php中define用法实例
2015/07/30 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
js实现小星星游戏
2020/03/23 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
浅谈Python数据类型之间的转换
2016/06/08 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
Python作用域与名字空间原理详解
2020/03/21 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
如何整合JQuery和Prototype
2014/01/31 面试题
高一历史教学反思
2014/01/13 职场文书
班长竞选演讲稿
2014/04/24 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
党员示范岗材料
2014/12/19 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书