我正在构建我的第一个 Vue.js 应用程序,我想打开一个对话框(使用 Element.io)组件。我想调用一个对话框并将内容传递给它。
所以我的对话框将是“全局的”,我会从不同的组件向它传递内容。
如何包含此对话框?我如何将参数传递给它等等?
我应该使用类似的东西:
import Dialog from '../GlobalComponents/Dialog.vue';
Vue.prototype.$dialog = Dialog;
或者将它包含在每个组件中,那会怎样?
我为对话框的切换制作事件处理程序没有问题,只是不知道如何调用对话框来打开它(或更改其dialogVisible
状态)。
您可以简单地将 Dialog 添加为 vue 组件以使其全局可用。
Vue.component('my-dialog', Dialog);
然后在你的“主”文件/index.html 或任何你用来启动你的 Vue 应用程序的文件中定义你的对话框
<my-dialog></my-dialog>
例如,如果您希望它显示错误,则可以使用发出和侦听器
Vue.prototype.$bus = new Vue(); // event buts
在 my-dialog 的 created 方法中
created: function() {
this.$bus.$on('error', function(msg) {
// access message here
// make dialog visible
});
}
以及发生错误的任何地方
this.$bus.$emit('error', 'this is my error');
如果您的对话框更复杂,您当然也可以在发射中传递对象而不是字符串
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句