提示框 vue.extend


里面不能包含任何中文变量

{{content}} 取 消 确 定
define(function(require,exports,module){
    "use strict";
    const temp=require('./index.html');
    module.exports={
        name:'mydialog',
        template:temp,
        data:function (){
            return{
                content:'',
                show:true
            }
        },
        methods:{
            confirm(){
                this.show = false
                this.callBack(true)
            },
            hide(){
                this.show = false
                this.callBack(false)
            }
        }
    }
})
define(function(require,exports,module){
    "use strict";
    const Message=require('src/components/mydialog/index')
   
    
    let instance={}
    let currentMsg=null

    //实例化
    let messageBox = Vue.extend(Message)
    messageBox.prototype.callBack = defaultCallBack
    
    const mydg=(options)=> {
        // 创建实例并且过滤参数
        instance = new messageBox({
            data: {...options}
        }).$mount()
        // 挂载实例

        //document.body.appendChild(instance.$el)

        //return instance
            return new Promise((resolve,reject) => {
                currentMsg = {resolve,reject}
            })
        }
    
    function defaultCallBack (action){
        if(!action) currentMsg.reject()
        currentMsg.resolve()
        
        //instance.$el.remove()
        //删除
        instance.$destroy()
        instance={}
    }

    module.exports=mydg
})
vue