Vue — 封装js插件成vue组件
最后更新于:2022-04-02 08:08:57
>[success] # 组件篇章
~~~
1.整个vue 项目是利用组件拼接而成,因此对组件封装规划和思路是章节探讨
的内容
~~~
>[danger] ##### 封装目录格式
~~~
1.组件集成在,components文件目录下,每个组件最好以文件的形式进行封
装,并且配置响应的出口
│ ├── 'components' // 存放组件文件夹
│ │ └── 'count-to' // 一个存放count-to组件文件夹
│ │ └── 'count-to.vue' // 组件具体内容编写位置
│ │ └── 'index.js' // 组件的入口
~~~
>[info] ## 将js 插件countup 进行封装
~~~
1.封装一个组件,首先根据文档,对所需要的参数值进行规划,在父组件调
用子组件的时候可以留出对应的参数配置
2.这个案例使用的是1系列的countup.js ,列出一下一系列使用参数:
2.1 创建一个countup对象var count= new CountUp("eleID", 开始值, 结束值);
2.2.具体参数整理:
target = html元素的id,input,svg text元素,或者计数发生时先前选择的元素/输入的var
startVal = 你要开始的值
endVal = 你想要达到的价值
decimals = (可选)数字中的小数位数,默认为0
duration = (可选)持续时间(以秒为单位),默认为2
options = (可选,请参阅demo)格式化/easing选项对象
2.3.options配置对象的具体参数在基础篇有讲解
2.4.start() 方法是启动countup插件的方法
~~~
>[danger] ##### 基础篇,在文件目录count-to.vue 中代码如下
~~~
1.根据文档我们可以分析在做封装时候要做的如下几点
1.1 需要创建countup对象
1.2.创建对象的时候需要绑定dom 的id
1.3.需要将js 插件要使用的参数暴露出来
2.解决上面对应的三件事
2.1.需要创建countup对象的前提是创建了dom元素,因此根据vue声明周
期dom被渲染挂载的周期在mounted周期,但为了确保。我会在 、
mounted周期中加入$nextTick-- 它是用来获取更新后的dom
2.2.id是唯一的,如何保证我们创建的组件id的唯一,vue在每个组件都有
一个'this._uid'唯一值
2.3.配置参数由于是需要在父传子,父传子的接受方式是'props因此需要
定义好
3.下面案例中,props最好配置好对应的类型,如果必填配置好必填项,
配置好默认值
4.分析生成不同的id可以利用'this._uid',因此可以在计算属性中进行监听,
而不是配置到data中
5.可以增加一个定时器,配置一个'delay' 属性来控制组件运行启动时间
~~~
~~~
~~~
>[danger] ##### 在对应组件文件夹的index.js入口文件写法案例
~~~
import CountTo from './count-to.vue'
export default CountTo
~~~
>[danger] ##### 在创建的名叫count-to.vue 视图组件文件使用组件
~~~
~~~
';