vue-iview Modal组件简单分析
现在公司的项目前端框架用的是vue,在工作中避免不了要写一些组件,其实写组件的方法千千种,怎么写都行,但是,总想写出来的组件像一些ui框架里的组件一样高大上,于是乎,今天有点时间,大致的看了一下iview的Modal组件,简单的记录一下思想。
由于时间原因,代码并没有深入往里边看,只是把大致的框框看了一下。
首先,我们看看Modal组件的用法,官方文档点这里
简单的用法如下:
1 | <Modal v-model="modal12" draggable scrollable title="Modal 1"> |
先看一下iview的Modal组件文件夹结构
index文件是入口文件,里边导出了Modal对象。也就是可以使用
1 | // Modal组件里有 |
modal.vue文件是组件的基础文件,也就是页面显示出来的东西,index文件里的东西可以看出来,只是给Modal对象添加了一些静态方法,为了this.$Modal.info(config)这样调用的时候使用。
confrim文件里主要做了this.$Modal.info()这样调用的时候动态new Vue()实例,也是以modal.vue这个组件为基础,动态的插入到body节点里,代码见下边:
就是通过new Vue()的实例获取到这个组建的html代码片段,再插入到body节点中。
最后,再看看iview如何变成vue的全局组件的。
1 | const install = function(Vue, opts = {}) { |
以上就是大概思路哈。