@Serega95

Переопределение миксинов во vue.js?

Здравствуйте.

Имеется компонент, который ставится с помощью npm. В нём используется миксин, который мне не подходит.
Есть ли возможность переопределить миксин, который используется в данном компоненте, не копируя код всего компонента?
  • Вопрос задан
  • 353 просмотра
Пригласить эксперта
Ответы на вопрос 1
CyberAP
@CyberAP
Фронтенд разработчик
Попробуйте так.
import BaseGrid from './Grid.vue';
import MyMixin from './MyMixin.js';

const TransformedGrid = Vue.component('BaseGrid').extend({
  mixins: ['MyMixin']
});

export default {
  name: 'SomeComponent',
  components: {
    BaseGrid: TransformedGrid
  }
}


Если вам нужно сохранить глобальную установку то нужно слегка переписать скрипт установки.

installCustomGrid.js
import BaseGrid from './Grid.vue';
import MyMixin from './MyMixin.js';

const TransformedGrid = Vue.component('BaseGrid').extend({
  mixins: ['MyMixin']
});

export default {
  install (Vue) {
    Vue.component('Grid', TransformedGrid)
  }
}


app.js
import Grid from './installCustomGrid.js';

Vue.use(Grid);


Если это не даст нужного результата попробуйте просто перезаписать в вашем миксине все методы, которые используются в этом миксине: https://github.com/euvl/vue-js-grid/blob/master/sr...

methods: {
    getWindowSize () {}
  }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы