我希望能够创建命名空间混入。
让我们以这个通知混合为例:
(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/