vue.js - Vue + Vuetify 重用snackbar / alert
问题描述
我是 Vue 的新手,我想将 vuetify 中的快餐栏/警报框重用于我的每个组件。我通过复制粘贴每个组件的代码来做到这一点,这使得它非常混乱且难以维护。
如何为我的每个视图 vue 组件重用它?
请参阅下面的示例代码。
Vue组件<模板>
<v-snackbar
v-model="snackbar.appear"
:color="snackbar.color"
:timeout="snackbar.timeout"
:left="snackbar.x === 'left'"
:right="snackbar.x === 'right'"
:top="snackbar.y === 'top'"
>
<v-row>
<v-icon class="mx-2" size="18" dark>{{ snackbar.icon }}</v-icon>
{{ snackbar.text }}
</v-row>
<v-btn dark text @click="snackbar.appear = false">OKAY</v-btn>
</v-snackbar>
vue组件<脚本>
snackbar: {
appear: false,
icon: '',
text: '',
color: 'success',
timeout: 2500,
x: 'right',
y: 'top',
},
axios
.post('/api/department-objective', { corporate_objective_id, objective, description })
.then(response => {
this.snackbar.appear = true
this.snackbar.text = response.data.text
this.snackbar.icon = response.data.icon
})
.catch(error => {
console.log(error)
this.alert = true
this.allerror = error.response.data.errors
})
解决方案
我经常将应用程序范围的警报消息添加到根应用程序的组件中,例如App
构建基本布局的组件并将其可见性绑定到中央存储中的error
or属性的存在。notification
vuex
有关详细信息,请参阅此答案
推荐阅读
- excel - Excel字符串变量不在范围内工作
- c++ - 我可以为特定的 wx[Aui]Notebook 选项卡使用自定义颜色吗
- git - git 从带有子模块的 repo 中的先前提交创建新分支
- r - 如何使用数据逐行比较方差分析
- node.js - 读取 zip 文件中的 xml 文件
- c++ - 同时使用 MKL 和 Eigen LAPACK 时出错
- fortran - 如何将单精度数字作为双精度读入fortran?
- asp.net-core - ASP.NET Core:获取存储过程结果到视图模型
- wxwidgets - 为什么 wxPanel 构造函数有默认的 WindowID 而 wxBookCtrl 构造函数没有?
- python-3.x - tkinter 按钮绑定()错误