vue项目中js文件无法使用element-ui组件

如何在vue现目中创建的js文件使用element-ui组件
个人需求

import axios from "axios"

const serve=axios.create({
    //配置默认地址
    baseURL:"https://www.liulongbin.top:8888/api/private/v1",
    timeout:2000,//求情延迟时间
});
//请求拦截
serve.interceptors.request.use(function (config){
    return config;
},function(error){
    return Promise.reject(error);
}
)
// 响应拦截
serve.interceptors.response.use(function(response){
    const {data:res,meta:{status,msg}}=response.data
    switch (status) {
        case 200:
            localStorage.setItem('token',res.token)
            this.$notify({
                title: "成功",
                message: msg,
                type: "success",
                position: "top-left",
                duration: 1000,
                showClose:false
              });
            break;
    
        default:
            break;
    }
    return response
},function(error){
        return Promise.reject(error)
})
export default serve

浏览器报错
Uncaught (in promise) TypeError: Cannot read property ‘$notify’ of undefined
如何解决

一,再创建vue实例

import Vue from "vue"
const vue =new Vue()
  vue.$notify({
                title: "成功",
                message: msg,
                type: "success",
                position: "top-left",
                duration: 1000,
                showClose:false
              });

可以理解为,将vue中挂在的element拿来
因为我再vue中min.js中全局挂载了element给了vue实例
这里我们把它原先的this换成vue实例调用element就好了

二,按需引入element组件

import { Notification } from 'element-ui';

       Notification({
                title: "成功",
                message: msg,
                type: "success",
                position: "top-left",
                duration: 1000,
                showClose:false
              });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值