vue中封装公共方法并挂载到全局

Posted 初辰ge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中封装公共方法并挂载到全局相关的知识,希望对你有一定的参考价值。

在src/assets/js下创建公共方法js文件(unit.js)

function delUrlData (name) 
    var url = window.location.href;
    var urlparts = url.split('?');
    if (urlparts.length >= 2) 
        //参数名前缀
        var prefix = encodeURIComponent(name) + '=';
        var pars = urlparts[1].split(/[&;]/g);

        //循环查找匹配参数
        for (var i = pars.length; i-- > 0;) 
            if (pars[i].lastIndexOf(prefix, 0) !== -1) 
                //存在则删除
                pars.splice(i, 1);
            
        
        return urlparts[0] + (pars.length > 0 ? '?' + pars.join('&') : '');
    
    return url;

function isMobile () 
    let m = /(phone|pad|pod|iPhone|iPod|ios|iPad|android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
    return navigator.userAgent.match(m);

export default 
    delUrlData,
    isMobile

在main.js中引入unit.js并挂在到全局

import unit from './assets/units/unit.js';
Vue.prototype.delUrlData = unit.delUrlData;
Vue.prototype.isMobile = unit.isMobile;

使用isMobile方法

this.isMobile()

以上是关于vue中封装公共方法并挂载到全局的主要内容,如果未能解决你的问题,请参考以下文章

vue中SignalR全局封装

VUE 挂载全局JS文件,组件按需要引用

vue中怎么实现公共头部里的值,全局都能拿到且实时变化

vue全局封装微信公众号分享模块

Vue+Vuex 实现全局统一错误提示

vue + elementui 中的弹窗组件封装成公共组件