#vue.js #vuejs2 #vue-component #nuxt.js
#vue.js #vuejs2 #vue-компонент #nuxt.js
Вопрос:
Я хотел бы создать плагин Nuxt, который автоматически добавляет вычисляемый компонент к компонентам, имеющим определенное свойство (без использования миксина).
Например, любой компонент, обладающий addComputedHere
свойством:
export default { data() { return {} }, computed: { myComputed: () =gt; 'foo' }, addComputedHere: true }
превратился бы в:
export default { data() { return {} }, computed: { myComputed: () =gt; 'foo', injectedComputed: () =gt; 'bar' // Injected }, addComputedHere: true }
До сих пор я не уверен, что является лучшим решением среди использования плагина/модуля/промежуточного программного обеспечения Nuxt или просто плагина Vue (если это возможно).
Как бы вы это сделали?
Комментарии:
1. Это было бы возможно только с помощью миксина.
Ответ №1:
Если кто-то находится в таком же положении, я нашел решение, создав плагин Vue, который применяет миксин для настройки компонента в beforeCreate
:
import Vue from 'vue'; const plugin = { install(Vue, options) { Vue.mixin({ beforeCreate() { if (this.$options.addComputedHere) { this.$options.computed['injectedComputed'] = () =gt; 'bar'; } } }) } }; Vue.use(plugin);