logo资料库

在vue中封装可复用的组件方法.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
在在vue中封装可复用的组件方法 中封装可复用的组件方法 下面小编就为大家分享一篇在vue中封装可复用的组件方法,具有很好的参考价值,希望对大家有所帮助。一起 跟随小编过来看看吧 本次封装的组件以toast组件为例 本次封装的组件以 组件为例 以前使用移动端ui插件时,通过一句代码比如 $.toast( ‘ 需要显示的内容 失。 需要显示的内容 ' ),从而在页面上展示这段文字,并在一定时间后消 现在我们也尝试自己封装toast组件。 准备工作:vue-cli脚手架工程 先看一下涉及到的文件目录截图: 先看一下涉及到的文件目录截图: 这次的封装主要涉及的文件是Toast.vue toast.js Hello.vue,主要思路如下: ① Toast.vue是我们要使用的toast组件; ② toast.js里面用Vue.extend()扩展一个组件构造器,然后通过实例化组件构造器,就可创造出可复用的组件。 最后在toast.js里面导出函数myToast,函数myToast里面的逻辑在代码里面有解释; ③ Hello.vue里调用函数,显示组件。 Toast.vue代码:代码:
Toast.js代码:代码: import Vue from 'vue'; import Toast from '@/components/Toast'; //引入组件 let ToastConstructor = Vue.extend(Toast) // 返回一个“扩展实例构造器” let myToast = ()=>{ let toastDom = new ToastConstructor({ el:document.createElement('div') //将toast组件挂载到新创建的div上 }) document.body.appendChild( toastDom.$el ) //把toast组件的dom添加到body里 } export default myToast; Hello.vue代码:代码: 通过以上步骤,离真正的toast效果还是有区别的,我们要达到的效果是让显示的内容在一段时间后消失,那么,得从toast.js 里面修改,得重新写myToast函数,给他设置两个传入参数,一个是显示的内容,一个是显示的时间。 toast.js修改后的代码如下: 修改后的代码如下: import Vue from 'vue'; import Toast from '@/components/Toast'; //引入组件 let ToastConstructor = Vue.extend(Toast) // 返回一个“扩展实例构造器” let myToast = (text,duration)=>{ let toastDom = new ToastConstructor({ el:document.createElement('div') //将toast组件挂载到新创建的div上 }) document.body.appendChild( toastDom.$el ) //把toast组件的dom添加到body里 toastDom.text = text; toastDom.duration = duration; // 在指定 duration 之后让 toast消失 setTimeout(()=>{ toastDom.isShow = false; }, toastDom.duration); } export default myToast; 那么,现在我们在Hello.vue中调用的时候就应该是这样了:this.$toast('新内容新内容',,2000);;我们的组toast组件可以正常使用 了! 以上这篇在vue中封装可复用的组件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我 们。
分享到:
收藏