自定义vue2.0全局组件(上篇)

简介: 随着vue.js的发展,一些基于vue.js的框架如雨后春笋般出现在开发者面前(例如:Element-ui、Mint-ui)。但是,无论哪一种框架都不可能完全满足项目需求,有时需要开发者自己编写自定义组件。那怎样编写自定义组件呢?今天,老K为大家分享一下自己常用的方法。
随着 vue.js的发展,一些基于vue.js的框架如雨后春笋般出现在开发者面前(例如:Element-ui、Mint-ui)。但是,无论哪一种框架都不可能完全满足项目需求,有时需要开发者自己编写自定义组件。那怎样编写自定义组件呢?今天,老K为大家分享一下自己常用的方法。

按钮是经常使用的组件之一。 Element-ui中的按钮组件说明,如下图:

今天,我们就拿这个按钮组件为例为大家编写一个自己的按钮组件。
前期准备: node.js开发环境,npm包管理器或者cnpm包管理器(推荐cnpm,速度快)。
首先,打开命令行窗口,用脚手架工具 vue-cli搭建一个vue2.0开发环境。我们选择搭建一个webpack-simple并放到custom-global-component目录里。如下图:
按步骤依次完成环境搭建。然后进入 custom-global-component文件里,输入命令cnpm init完成依赖包的安装,然后输入命令npm run dev,启动测试环境。如下图:
如果一切顺利,会出现 vue.js经典的欢迎页。如下图:
然后进入 custom-global-component/src目录里,打开App.vue,为了便于测试,将多余代码删掉。如下图:
代码删掉后,写上本次的主题名称。如下图:
测试页面同时会自动更新,如下图:
custom-global-component/src目录里,新建components目录,用来放组件文件。如下图:
进入 components目录,新建button目录。这就是我们今天做的button组件的所在位置。
如下图:
进入 button目录里,新建入口文件index.js、组件文件Button.vue,如下图:
打开 Button.vue,为了是我们的组件具有良好的可扩展性,我们采用vue.js的render方法创建组件模板。如下图:
组件标签名为 “<g-button>”,转义的html标签名为“<button>”,默认具有的样式class名为“g-button”。
进入入口文件 index.js,引入button组件模板,生成名为“g-button”的vue组件并输出。如下图:
这样一个普通的 button组件就完成了。
现在,我们回到 src目录下,尝试一下我们新编写的组件。打开main.js和App.vue文件,引入并使用这个组件,如下图:
main.js

App.vue

预览结果:
这样,一个可以复用的初级按钮组件就完成了。上述代码我已提交到 github,欢迎参考!
当然,这个组件远没有达到完美,扩展性还不够强大。下一篇,老 K还会为大家继续完善这个按钮组件,敬请期待...

欢迎关注个人公众号,查看更多好文。1.gif
3c9443f5671a70732ca1e6ee8cdd027439c92725
相关文章
|
18天前
|
资源调度 JavaScript API
vue3封装城市联动组件
vue3封装城市联动组件
|
21天前
|
JavaScript 前端开发 开发者
哇塞!Vue.js 与 Web Components 携手,掀起前端组件复用风暴,震撼你的开发世界!
【8月更文挑战第30天】这段内容介绍了Vue.js和Web Components在前端开发中的优势及二者结合的可能性。Vue.js提供高效简洁的组件化开发,单个组件包含模板、脚本和样式,方便构建复杂用户界面。Web Components作为新兴技术标准,利用自定义元素、Shadow DOM等技术创建封装性强的自定义HTML元素,实现跨框架复用。结合二者,不仅增强了Web Components的逻辑和交互功能,还实现了Vue.js组件在不同框架中的复用,提高了开发效率和可维护性。未来前端开发中,这种结合将大有可为。
65 0
|
22天前
|
JavaScript 开发者
[译] 监听第三方 Vue 组件的生命周期钩子
[译] 监听第三方 Vue 组件的生命周期钩子
|
22天前
|
JavaScript 前端开发
[译] 复用 Vue 组件的 6 层手段
[译] 复用 Vue 组件的 6 层手段
|
22天前
|
JavaScript API
vue 批量自动引入并注册组件或路由
vue 批量自动引入并注册组件或路由
|
1天前
|
存储 API
vue3中如何动态自定义创建组件并挂载
vue3中如何动态自定义创建组件并挂载
|
1天前
|
JavaScript
vue 函数化组件
vue 函数化组件
|
30天前
|
JavaScript 程序员 开发者
vue组件的使用与基础知识你真的完全明白吗?
【8月更文挑战第16天】vue组件的使用与基础知识你真的完全明白吗?
33 3
vue组件的使用与基础知识你真的完全明白吗?
|
18天前
|
存储 JavaScript
vue组件的五种传值方法(父子\兄弟\跨组件)
vue组件的五种传值方法(父子\兄弟\跨组件)
|
22天前
|
JavaScript 前端开发 Serverless
[译] VueJS 中更好的组件组合方式
[译] VueJS 中更好的组件组合方式