vue3中怎么挂载公共方法。vue3挂载公共axios,挂载公共正则。

vue3怎么挂载公共的axios,安装 axios    cnpm install axios --save

// -g 全局安装
// --save/    简写   -S 局部安装在生产环境
// --save-dev/   简写   -D 局部安装在开发环境

 正则的页面这样写  src 下创建  utils > regexp.js 文件放正则 (一个简单的手机号验证)

export const phone = (res) => {
    let reg = /^1[3,5,6,7,8,9][0-9]{9}$/
    return reg.test(res)
}

main.js 文件   挂载公共方法主要通过    app.config.globalProperties 

import {
    createApp
} from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'


import axios from 'axios' // 引入axios
import { phone  } from './utils/regexp' //  这个是正则
    
const app = createApp(App)

app.config.globalProperties.http = axios // 这个是 axios
app.config.globalProperties.regexp = { // 正则 在哪个页面都可以使用
    phone
}

app.use(store).use(router).mount('#app')

在页面使用? 获取主要通过 proxy

<template>
  <div class="">
  
  </div>
</template>

<script>
import { getCurrentInstance, reactive, toRefs } from "vue";
export default {
  setup() {

    const instance = getCurrentInstance(); //  调用getCurrentInstance方法
    // 第一种方式 获取全局的公共方法 请求
    // const http = instance.appContext.config.globalProperties.http;
    // 第二种通过 proxy 获取全局 的方法
    const http = instance.proxy.http;
    // 获取全局封装好的 正则方法
    const { phone } = instance.proxy.regexp;

    //  请求
    http
      .get("https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata")
      .then((res) => {
        console.log(res);
      });

    console.log(phone(1222222036)); // 这个使用正则验证手机号的正则
    return { };
  },
};
</script>

<style lang="scss" scoped></style>

  少壮不努力老大徒伤悲

猜你喜欢

转载自blog.csdn.net/qq_54753561/article/details/122242601
今日推荐