Vue 添加全局Toast和Confirm

2020-11-26 08:41:36

vue添加全局Toast和Confirm

var common = {
        Toast: function (msg = 'tip', callback, timeout = 2000) {
            let LoadingTip = Vue.extend({
                template: `<div class="toast-con"><div class="info"><span>${msg}</span></div></div>`
            })

            // 2、创建实例,挂载到文档以后的地方
            let tpl = new LoadingTip().$mount().$el
            // 3、把创建的实例添加到body中
            document.body.appendChild(tpl);

            setTimeout(function() {
                document.body.removeChild(tpl);
                callback && callback();
            },timeout);
        },

        Confirm: function (title='提示', content, callback) {
            let LoadingTip = Vue.extend({
                template: `<div class="toast-con"></div>`
            })

            // 2、创建实例,挂载到文档以后的地方
            let tpl = new LoadingTip().$mount().$el
            // 3、把创建的实例添加到body中
            document.body.appendChild(tpl);

            setTimeout(function () {
                document.body.removeChild(tpl);
                callback && callback();
            }, timeout);
        },
        UrlEncode: function (data = {}) {
            var datastr = Qs.stringify(data);
            return LZString.compressToBase64(datastr);
        },
        UrlDecode: function (data = "") {
            var datastr = LZString.decompressFromBase64(data);
            return datastr==null?null:Qs.params(datastr);
        }
    }

    Vue.prototype.common = common;


vue 怎么去使用全局Toast 和Confirm

var app = new Vue({
        el: '#app',
        data: {
            reason: '',
        },
        created: function () {
            var that = this;

        },
        methods: {
            submit: function () {
                var that = this;

                that.common.Toast('测试完毕',function(){console.log(‘关闭了’);});
                 that.common.Confirm('提示','确定要删除吗?',function(){console.log(‘关闭了’);});
            },
        }
    });


  • 2020-05-13 09:56:35

    Could not find method google() for arguments [] on repository container.

    1、打开项目根目录下android/gradle/wrapper/gradle-wrapper.properties 将distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip中的2.14.1改成4.1 ———————————————— 版权声明:本文为CSDN博主「peachesTao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/taoerchun/article/details/93870941

  • 2020-05-13 10:05:23

    inline svg想写介绍以及使用

    inline svg是目前前端图标解决方案的最优解(当然不仅限于图标),而且使用方式也及其简单,只要将svg图标代码当成普通的html元素来使用即可

  • 2020-05-20 22:29:05

    javascript中为何在匿名function函数后面还外加

    它可以解释成为“匿名函数自调用”,也就是说,定义一个匿名函数,然后马上调用它(因为它是匿名的,如果不立即调用就获取不到该函数的引用了)。通常它被应用在一些大型的JS框架中(如上面所说的),因为这个匿名函数的函数体相当于提供一个匿名的名字空间,这样就不会再与用户自定义的JS函数、变量、对象发生冲突了。尽管JS没有显示地提供命名空间的定义和使用机制,但这种匿名方式却不失为是一种很好的解决命名空间问题的方法。