javascript - 命名空间混合 Vuejs

标签 javascript vue.js

我希望能够创建命名空间混入。

让我们以这个通知混合为例:

(function()  {
    'use strict';

    window.mixins = window.mixins || {}

    window.mixins.notification = {
        methods: {
            show: function(type, message, duration) {
                duration = duration || 5000;

                new Noty({
                    type: type,
                    text: message,
                    timeout: duration,
                    theme: 'custom'
                }).show();
            }
        }
    }
}());

我可以在我的组件中导入它并使用它:

(function() {
    'use strict';

    Vue.component('basic-component', function() {
        mixins: [window.mixins.notification],

        created: function() {
            this.show();
        }
    })
})

但我不喜欢它,因为你真的不知道它来自哪里。

是否可以为 mixin 命名空间以便能够按照以下方式做一些事情:

(function() {
    'use strict';

    Vue.component('basic-component', function() {
        mixins: [window.mixins.notification],

        created: function() {
            this.mixins.notification.show();
        }
    })
})

编辑:这似乎还不可能,我打开了一个问题,请随时发表评论并分享您对此事的看法:https://github.com/vuejs/vue/issues/7501

最佳答案

Vue mixins 无法像那样工作。你将不得不做一些非常骇人听闻的事情。

关于javascript - 命名空间混合 Vuejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48370951/

相关文章:

javascript - 脚本 src=//example.com/file.js 有效吗?

javascript - 获取2点之间的所有像素坐标

javascript - reCAPTCHA v3 和 vue-recaptcha-v3 (v1.8.0) 的 fetch API 验证不断失败

javascript - 将产品游览库与 VueJS 结合使用

javascript - 如何在页面刷新时在 onMounted 中获取当前路由?

javascript - webpack-dev-server 热重载不起作用

javascript - 如何迭代对象的嵌套列表并创建具有 colspan 决定嵌套子数组的 html 表?

javascript - Highcharts - setExtremes 后丢失数据

javascript - 如何通过只是对对象的引用的变量来为对象赋值?

vue.js - 在 Vue v-if 中,如何检查对象数组中的对象是否具有指定键的特定值?