Я предполагаю, что вы используете Vue -CLI, поскольку у вас есть файл .vue
, но ваш main.js
использует синтаксис из Vue CDN. Возможно, вместо этого вы скопировали код из скрипки.
Я также предположу, что у вас есть класс CSS с именем .selection
, чтобы это работало.
В любом случае, App.vue
имеет собственный экземпляр компонента, который не * экземпляр монтирования main.js
(он на один уровень глубже). Ваш код создает selected
в монтировании root вместо App.vue
.
Чтобы исправить, создайте его в разделе App.vue
<script>
вместо:
<template>
<div id="app">
<div id="test">
{{ selected }}
<p :class="{ selection: 1 === selected }">
heyyy 1
</p>
<p :class="{ selection: 2 == selected }">
heyyy 2
</p>
<button @click="selected = 2">Switch</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
selected: "2"
}
}
}
</script>
<style>
.selection {
/* CSS */
}
</style>