我希望能够创建命名空间的mixin。
让我们以此通知混合为例:
(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
答案 0 :(得分:1)
Vue mixins无法像这样工作。你必须做一些非常讨厌的事情。