Vue Проблема с событиями v-on

Я являюсь разработчиком на платформе RageMP(GTA5). Уже давно мы сталкнулись с проблемой, которая нам вставляет палки в колеса. Конкретно проблема следущего характера. При первичном рендере компонента все хорошо, все события v-on срабатывают. Но после того как скрыть любые элементы содержащие события v-on и показать другие или вернуть прежние, перестают работать эти события. Данный баг встречается только во внутри игровом "Браузере" и только у некоторых игроков сервера. Cейчас если ничего не путаю, он на ядре Chromium 79.0.3945.117. Вот пример:

<template>
    <div class="default">
        <div :class="'bthOne '+(page==1?'active':'')" v-on:click="page=1">Первая</div>
        <div :class="'bthTwo '+(page==2?'active':'')" v-on:click="page=2">Вторая</div>
        <div class="one" v-if='page==1'>
            <div class="item" v-for="(item,index) in array" :key="'one'+index">
                <p v-on:click="testEvent(item)">Ссылка {{item}}</p>
            </div>
        </div>
        <div class="two" v-if='page==2'>
            <div class="item" v-for="(item,index) in array" :key="'two'+index">
                <p v-on:click="testEvent(item)">Ссылка {{item}}</p>
            </div>
        </div>
    </div>
</template>
<script>
export default {
    name: 'Test',
    data() {
        return {
            page: 1,
            array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
        }
    },
    methods: {
        testEvent: function(i) {
            console.log(i);
        }
    }
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.default {
    width: 10vw;
    height: 10vh;
}

.active {
    color: blue;
}

.one {
    background-color: red;
}

.two {
    background-color: yellow;
}
</style>

Суть вышестоящего кода просто выводить число в консоль при клике. И при первом рендере все работает как и ожидается, но после того как мы перейдем на вторую "страницу" клик перестает работать на некоторое время, но спустя минуту, вновь начинает работать так как нужно. Если использовать v-show вместо v-if все работает без нареканий. И это мне понятно, так как ничего кроме как display:none в случае с v-show не происходит. Вопрос: Что заставляет так долго пере привязывать события на элемент? В какую сторону копать?


Ответы (0 шт):