给Vue项目添加全局的消息条
本文演示一下如何为Vue/Vuetify项目添加全局的消息条(也叫toasts, snackbar).
我们期待的用法大概长这样
1 | this.$q.error("") |
Store
把数据存在store中
store/snackbar.js
1 | const state = () => ({ |
并在store/index.js
中引入它
1 | export default new Vuex.Store({ |
Plugin
为了在全局都可以使用,我们需要创建一个插件
plugins/snackbar.js
1 | const snackbarPlugin = { |
需要在注册到Vue的全局对象上
main.js
1 | import snackbarPlugin from "./plugins/snackbar"; |
Component
消息条的组件则直接用Vuetify的就好了。
components/Snackbar.vue
1 | <template> |
Layout
把组件添加到应用中
App.vue
1 | <template> |
Usage
可以在任意页面中使用啦。
1 | this.$q.info("xxx") |
在axios的response钩子中提示错误:
utils/request.js
1 | import axios from "axios"; |