Vue.js mixin представляет местное государство

1

У меня есть Vue mixin, который выглядит так:

/* eslint-disable */
const amount = null;
const currency = '';

export default {
    methods: {
        formatPrice(amount, currency) {
            this.amount = amount;
            this.currency = currency;

            const isInt = Number.isInteger(this.amountToPrice);

            return isInt ? this.stripDecimalZeroes : this.localePrice;
        }
    }
}

Я ввел немного локального состояния, поставив 2 переменные внутри этого файла, но ESLint дает мне ошибку "no-shadow", если я удалю свой eslint-disable.

Что я могу сделать, чтобы правильно ввести локальное состояние внутри моего микса. Я не хочу передавать состояние каждой функции, и я не чувствую, что я обязан делать это, когда логика инкапсулируется внутри этого микса.

Также я не понимаю no-shadow-error когда я this.state свою локальную сумму штата как this.state и она отлично работает.

Теги:
vue.js
vuejs2
vue-component

2 ответа

1
Лучший ответ

В качестве альтернативы вы можете присвоить свою переменную this в created() {} hook, как показано ниже:

created() {
    this.amount = null;
    this.currency = '';
}
0

Исправлено, просто сделав следующее:

Введенное состояние:

const state = {
    amount: null,
    currency: ''
};

Называется так:

export default {
    methods: {
        formatPrice(amount, currency) {
            state.amount = amount;
            state.currency = currency;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню