У меня есть 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
и она отлично работает.
В качестве альтернативы вы можете присвоить свою переменную this
в created() {}
hook, как показано ниже:
created() {
this.amount = null;
this.currency = '';
}
Исправлено, просто сделав следующее:
Введенное состояние:
const state = {
amount: null,
currency: ''
};
Называется так:
export default {
methods: {
formatPrice(amount, currency) {
state.amount = amount;
state.currency = currency;