Остановить Vue фейерверк анимация

Остановить Vue фейерверк анимация

24.12.2019 10:41:53 Просмотров 34 Источник

Я использую компонент vue-fireworks ( https://github.com/dampion/Vue-fireworks ) для отображения анимации фейерверка на холсте HTML5. Он начинается, когда компонент монтируется, что нормально. Но я не могу понять, как это остановить. Мне нужно остановить фейерверк после нажатия кнопки. Я бы предпочел, чтобы больше не стреляли, и все, что находится на экране, когда нажата кнопка, можно продолжать до их завершения.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59472893/stop-vue-fireworks-animation#comment105124973_59472893
Вы обязаны разместить здесь минимальный воспроизводимый пример , в рамках вашего вопроса, а не ссылку на ваш сайт или любой сайт третьей стороны.
https://stackoverflow.com/questions/59472893/stop-vue-fireworks-animation#comment105125131_59472893
Весь код взят из другого источника. Я пытаюсь выяснить, работал ли кто-то еще с ним и решил эту проблему.

Ответы - Остановить Vue фейерверк анимация / Stop Vue Fireworks animation

T. Short

24.12.2019 11:49:36

Вы можете изменить исходный код компонента Fireworks?

Я вижу, что у него есть data propauto, которая установлена в true.

Если бы вы могли изменить это значение на прямолинейную prop, то, изменив это значение на false, он перестал бы добавлять больше фейерверков и позволил бы другим анимациям закончиться.

<Firework :boxHeight="'100%'" :boxWidth="'100%'" :auto="false"/>

Я не проверял себя, просто предположение, читая код. Надеюсь, это поможет.

https://stackoverflow.com/questions/59472893/stop-vue-fireworks-animation/59473289#comment105125115_59473289
Я действительно пытался изменить это значение, а затем перезагрузить, чтобы я мог подтвердить, что оно действительно отключает автоматическое создание. Как ни странно, он затем позволяет фейерверку выстреливать каждый раз, когда вы щелкаете мышью. Я понятия не имею, зачем тебе это нужно.
https://stackoverflow.com/questions/59472893/stop-vue-fireworks-animation/59473289#comment105125159_59473289
Внутри компонента есть прослушиватель событий для кликов. Каждый раз, когда вы нажимаете на него, он добавляет фейерверк. Вам придется удалить его вручную, если вы этого не хотите. (он делает это событие, когда авто включено)
https://stackoverflow.com/questions/59472893/stop-vue-fireworks-animation/59473289#comment105125182_59473289
Да, я думаю, что уберу клик, так как не вижу для него никакого применения. Я действительно подтвердил, что если вы измените auto на false во время работы, он просто перестанет создавать новые фейерверки. Это потрясающе! Теперь я задаюсь вопросом, должен ли я тогда очистить холст, прекратить любые дальнейшие циклы и остановить его от поедания циклов памяти или процессора?
https://stackoverflow.com/questions/59472893/stop-vue-fireworks-animation/59473289#comment105125278_59473289
Да, я бы рекомендовал сделать это. Если ответ был тем, что вы искали, то, пожалуйста, подумайте о том, чтобы дать ему зеленую галочку
Закрыть X