this.$notify is not a function,vue使用element-ui的Notification组件时报错this.$notify is not a function

项目场景:

今天在写项目的时候想要寻找一个简洁好看的提示框,于是去Element-ui发现Notification 还不错,但是考虑到只使用一个Notification组件全部引入element会使项目体积变大,于是使用了局部引入的方式,但是出现了报错:this.$notify is not a function


问题描述:

这是我在element.js中所写的代码

import Vue from 'vue'
import { 
    Notification,
} from 'element-ui'
//应用插件
Vue.use(Notification)

这是在vue实例中使用Notification的代码

$.post(url,this.form,(result) => {
	this.$notify({
    	title: '成功',
        message: result.message,
        type: 'success'
    });
    this.closeDialog();
    this.reloadData();
})

然后在浏览器的控制台发现了如下错误:
在这里插入图片描述

原因分析:

去官网看了一下发现,我们在使用element-ui组件库里组件的时候,有时候是当作html标签去使用,比如<el-button></el-button>,而有时候是使用它的方法,比如这个消息提示框,在使用方法的时候如果是局部引用要将这个方法放到Vue的原型上,这样它的实例在调用这个方法的时候就不会报错了。


解决方案:

在element.js中添加如下代码

Vue.prototype.$notify = Notification;

添加后如下:

import Vue from 'vue'
import { 
    Notification,
} from 'element-ui'
//应用插件
Vue.prototype.$notify = Notification;

这样消息提示框就可以正常使用了
在这里插入图片描述
官方文档对引入组件的说明:
在这里插入图片描述
在这里插入图片描述

最后附上官方文档:https://element.eleme.cn/#/zh-CN/component/quickstart

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值