еще watch в котором тот же $emit срабатывает при изменении определенных данных.
Нормально ли в двух местах делать один и тот же $emit? В methods и в watch ?
да, почему нет)
а если после emit мутировать передаваемый пропс?
пример?
Если есть несколько дублирующихся строк, то можно уже и в метод оформить, чтобы не копипастить
https://sfc.vuejs.org/#eyJBcHAudnVlIjoiPHNjcmlwdCBzZXR1cD5cbmltcG9ydCB7IHJlZix3YXRjaCB9IGZyb20gJ3Z1ZSdcbmltcG9ydCBDIGZyb20gXCIuL0NvbXAudnVlXCJcbmNvbnN0IG1zZyA9IHJlZignJylcbmZ1bmN0aW9uIGNoYW5nZSgpe1xuICBcbiAgbXNnLnZhbHVlPW1zZy52YWx1ZSsnYSdcbn1cbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG4gIDxoMT57eyBtc2cgfX08L2gxPlxuICA8aW5wdXQgdi1tb2RlbD1cIm1zZ1wiPlxuICA8QyA6YT1cIm1zZ1wiIEB1cD1cImNoYW5nZVwiLz5cbjwvdGVtcGxhdGU+IiwiaW1wb3J0LW1hcC5qc29uIjoie1xuICBcImltcG9ydHNcIjoge1xuICAgIFwidnVlXCI6IFwiaHR0cHM6Ly9zZmMudnVlanMub3JnL3Z1ZS5ydW50aW1lLmVzbS1icm93c2VyLmpzXCIsXG4gICAgXCJ2dWUvc2VydmVyLXJlbmRlcmVyXCI6IFwiaHR0cHM6Ly9zZmMudnVlanMub3JnL3NlcnZlci1yZW5kZXJlci5lc20tYnJvd3Nlci5qc1wiXG4gIH1cbn0iLCJDb21wLnZ1ZSI6IjxzY3JpcHQgc2V0dXA+XG5pbXBvcnQgeyByZWYsd2F0Y2ggfSBmcm9tICd2dWUnXG5jb25zdCBwcm9wcyA9IGRlZmluZVByb3BzKFsnYSddKTtcbmNvbnN0IHQgPSByZWYocHJvcHMuYSk7XG5jb25zdCBlbWl0ID0gZGVmaW5lRW1pdHMoKTtcbiAgd2F0Y2goKCkgPT4gcHJvcHMuYSwgKGZpcnN0LCBzZWNvbmQpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBcIldhdGNoIHByb3BzLmEgZnVuY3Rpb24gY2FsbGVkIHdpdGggYXJnczpcIixcbiAgICAgICAgZmlyc3QsXG4gICAgICAgIHNlY29uZFxuICAgICAgKTtcbiAgICBlbWl0KCd1cCcpXG4gICAgfSk7XG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICA8aDE+Q2ltcCA9IHt7IHByb3BzLmEgfX08L2gxPlxuPC90ZW1wbGF0ZT4ifQ==
в чем логика компонента? что нужно по итогу получить?
просто проверил, думал есть защита от такого встроенная
Есть. Во Vue 2 страница бы намертво зависла :)
Тут не просто цикл реактивных вычислений, а обычная бесконечная рекурсия. Событие меняет данные, изменение которых порождает событие.
прост не могу понять от чего именно защита) тут же по делу бесконечный цикл
От выстрела в ногу такого рода. В здравом уме конечно такое писать никто не будет, но мало ли.
А зачем защита от того, что никто писать не будет?)
ну когда у человека получится бесконечный цикл,я думаю он поправит код)
Защита в такой ситуации - как раз новое во Vue 3. Вместо зависшей во Vue 2 страницы, он получает варнинг в консоли, из которого может понимать место проблемы. А решение проблемы уже будет зависеть от логики работы компонента...
Обсуждают сегодня