我希望能够创建一个命名空间的混入。
让我们以这个通知混入为例:
(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
发布于 2018-01-22 05:25:31
没有办法让Vue混入像那样工作。你将不得不做一些非常老套的事情。
https://stackoverflow.com/questions/48370951
复制相似问题