使用vue的extend自定义组件开发

匿名 (未验证) 提交于 2019-12-02 23:43:01

index.js

import Vue from 'vue' import tip from './tip.vue'  const Constructor = Vue.extend(tip);  const Tip = (options={})=>{     options.showAlert = options.fn//传来的fn给options,赋值data     const vm = new Constructor({         data:options     })     vm.$mount()     document.body.appendChild(vm.$el)     vm.visible = true     return vm }  export default Tip 

  tip.vue

<template>     <div class="tip-0">         <div class="tip" v-show="visible" @click="tipHide()">{{message}}</div>     </div> </template> <script> export default {     data(){         return{             visible:true,             message:9999,             showAlert:null//接收传来的fn         }     },     methods:{         tipHide(){             this.showAlert()             this.visible = false;         }     } } </script> 

  使用

<button @click="showTip()">tip</button>  import Tip from './components/tip'  showTip(){       Tip({         message:2222,          fn: () => { alert('关闭了') }       })     }, 

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!