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

Posted yiyi17

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用vue的extend自定义组件开发相关的知识,希望对你有一定的参考价值。

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(‘关闭了‘) 
      )
    ,

  

以上是关于使用vue的extend自定义组件开发的主要内容,如果未能解决你的问题,请参考以下文章

Vue.extend提供自定义组件的构造器

vue2入坑随记 -- 自定义动态组件

vue中的组件

Vue利用Vue.extend()实现自定义弹出框

Vue - 组件和Vue.extend

Vue基础:使用Vue.extend()实现自定义确认框