Есть ли способ сделать этот код короче / масштабируемым: (просто добавив большую часть кода здесь, чтобы продемонстрировать количество, которое я должен написать на элемент)
hoodiesml: false,
hoodiemed: false,
hoodielrg: false,
hoodiexlrg: false,
hoodiexxlrg: false,
hoodiesmlqty: 0,
hoodiemedqty: 0,
hoodielrgqty: 0,
hoodiexlrgqty: 0,
hoodiexxlrgqty: 0,
hoodiesmltot: 0,
hoodiemedtot: 0,
hoodielrgtot: 0,
hoodiexlrgtot: 0,
hoodiexxlrgtot: 0,
shirtsml: false,
shirtmed: false,
shirtlrg: false,
shirtxlrg: false,
shirtxxlrg: false,
shirtsmlqty: 0,
shirtmedqty: 0,
shirtlrgqty: 0,
shirtxlrgqty: 0,
shirtxxlrgqty: 0,
shirtsmltot: 0,
shirtmedtot: 0,
shirtlrgtot: 0,
shirtxlrgtot: 0,
shirtxxlrgtot: 0,
hatsml: false,
hatmed: false,
hatlrg: false,
hatxlrg: false,
hatxxlrg: false,
hatsmlqty: 0,
hatmedqty: 0,
hatlrgqty: 0,
hatxlrgqty: 0,
hatxxlrgqty: 0,
hatsmltot: 0,
hatmedtot: 0,
hatlrgtot: 0,
hatxlrgtot: 0,
hatxxlrgtot: 0,
}
},
watch: {
hoodiesml() {
let app = this
if (app.hoodiesml === false) {
app.hoodiesmlqty = 0
console.log('hoodiesml qty set to 0')
}
else if (app.hoodiesml === true) {
app.hoodiesmlqty = 1
}
},
hoodiesmlqty() {
let app = this
let tot = 0
tot = app.hoodiesmlqty * app.hoodieCost
app.hoodiesmltot = tot
console.log('some hoodiesmlqty changed ' + tot)
app.merchtotal()
},
hatsml() {
let app = this
if (app.hatsml === false) {
app.hatsmlqty = 0
console.log('hatsml qty set to 0')
}
else if (app.hatsml === true) {
app.hatsmlqty = 1
}
},
hatsmlqty() {
let app = this
let tot = 0
tot = app.hatsmlqty * app.hatCost
app.hatsmltot = tot
console.log('some hatsmlqty changed ' + tot)
app.merchtotal()
},
shirtsml() {
let app = this
if (app.shirtsml === false) {
app.shirtsmlqty = 0
console.log('shirtsml qty set to 0')
}
else if (app.shirtsml === true) {
app.shirtsmlqty = 1
}
},
shirtsmlqty() {
let app = this
let tot = 0
tot = app.shirtsmlqty * app.shirtCost
app.shirtsmltot = tot
console.log('some shirtsmlqty changed ' + tot)
app.merchtotal()
},
Это только показывает наблюдателядля 2 размеров из 5 на единицу.Там может быть более 3 предметов.
Я использую Django, и я думал о том, чтобы просто оставить все это на стороне базы данных, но я обрабатываю оплату с этой страницы.
Процесс состоит в том, что я передаю всю сумму PayPal Express непосредственно с этой страницы.
Ход процесса:
Пользователь заполняет форму(это добавляет стоимость к общей цене).Они нажимают кнопку проверки, где я проверяю ошибки.Если ошибок нет, кнопка проверки становится видимой в модальном режиме.Над кнопкой оформления заказа у меня есть товары, которые они могут купить в разных размерах.Мне нужно подготовить эту сумму, когда они прокрутят вниз и нажмут кнопку оформления PayPal.Вот почему у меня есть наблюдатели.
Мой вопрос
Есть ли способ, чтобы наблюдатель наблюдал за несколькими свойствами.то есть, чтобы он следил за всеми количествами и размерами шляп, а если что-то изменилось, вызываю метод, в котором я могу передать количество и стоимость.Таким образом, у меня может быть только один метод и один наблюдатель?