Что такое экземпляр Vue?
Экземпляр Vue — это основной строительный блок Vue.js приложения. Он является объектом, который управляет определенной частью пользовательского интерфейса, и позволяет разработчику взаимодействовать с данными, компонентами и поведением приложения.
Основы экземпляра Vue
При создании экземпляра Vue, вы обычно используете конструктор Vue
. В самом простом виде код для создания экземпляра Vue может выглядеть так:
const app = new Vue({
el: '#app',
data: {
message: 'Привет, Vue!'
}
});
Параметры экземпляра
Когда вы создаете экземпляр Vue, вы передаете объект конфигурации, который может содержать несколько параметров. В вышеприведенном примере:
el
: указывает на элемент DOM, с которым будет связан экземпляр. В нашем случае это элемент с idapp
.data
: это свойство, которое содержит реактивные данные. Когда мы изменяем значение свойства, Vue автоматически обновляет представление на странице.
Пример приложения Vue
Вот более сложный пример, который показывает, как работает экземпляр Vue:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Пример Vue</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<div id="app">
<h1>{{ message }}</h1>
<input v-model="message" placeholder="Измените текст здесь">
</div>
<script>
const app = new Vue({
el: '#app',
data: {
message: 'Привет, Vue!'
}
});
</script>
</body>
</html>
Объяснение кода
#app
и включает реактивное свойство message
.v-model
создаёт двустороннюю связь между полем ввода и данными. Это означает, что когда пользователь изменяет текст в поле ввода, message
автоматически обновляется, и наоборот.Заключение
Экземпляр Vue является основой любого приложения на Vue.js и предоставляет мощные возможности для взаимодействия с данными и DOM. Важно понимать, как создать и настроить экземпляр Vue, чтобы эффективно использовать его возможности в своих проектах. Пользуйтесь реактивностью Vue, чтобы создавать динамичные и отзывчивые интерфейсы!