Учебник VueJS: Начало работы с Vue.js
Здравствуйте, будущие веб-разработчики! Я рад быть вашим проводником в этом захватывающем путешествии в мир Vue.js. Как someone, кто преподавал информатику более десяти лет, я могу сказать, что Vue.js является одним из самых友好ных для начинающих фреймворков. Так что погружаемся и создаем магию вместе!
Что такое Vue.js?
Vue.js - это прогрессивный JavaScript-фреймворк для создания пользовательских интерфейсов. Но что это означает на простом языке? Представьте, что вы строите дом. Vue.js - это как наборprefabricated стен и комнат, которые можно легко собрать, чтобы создать свою мечту. Он делает создание сложных веб-приложений настолько простым, как собирание LEGO-кирпичиков!
Why Vue.js?
- Легко learn
- Гибкий и масштабируемый
- Отличная производительность
- Awesome community support
Предварительные требования
Прежде чем мы начнем, давайте убедимся, что у нас есть все необходимое:
- Основное понимание HTML и CSS
- Знакомство с JavaScript (не волнуйтесь, если вы не expert!)
- Современный веб-браузер (я рекомендую Chrome или Firefox)
- Текстовый редактор (VS Code - мой личный фаворит)
Настройка вашего первого проекта Vue.js
Давайте начнем с создания простой программы "Hello, Vue!". Сначала нам нужно включить Vue.js в наш проект. Мы можем сделать это, добавив тег скрипта в наш HTML-файл.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Vue App</title>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
</head>
<body>
<div id="app">
{{ message }}
</div>
<script>
new Vue({
el: '#app',
data: {
message: 'Hello, Vue!'
}
})
</script>
</body>
</html>
Давайте разберем это:
- Мы включаем библиотеку Vue.js с помощью CDN-ссылки.
- Мы создаем
<div>
с идентификатором "app". Это место, где будет жить наше приложение Vue. - Внутри div мы используем
{{ message }}
. Это называется интерполяцией, и это то, как мы отображаем данные в Vue. - В нашем теге
<script>
мы создаем новый экземпляр Vue,indicating к элементу с идентификатором "app". - Мы определяем объект
data
с свойствомmessage
. Это данные, которые будет использовать Vue в нашем приложении.
Если вы сохраните этот файл и откроете его в браузере, вы должны увидеть "Hello, Vue!" на странице. Поздравляю! Вы только что создали свое первое приложение Vue.js!
Директивы Vue: Добавление интерактивности
Теперь, когда у нас есть базовые знания, давайте сделаем наше приложение немного более интерактивным. Vue предоставляет нам директивы - особые атрибуты, которые дают указания Vue, как себя вести. Давайте рассмотрим несколько распространенных:
v-model: Двусторонняя привязка данных
v-model
создает двустороннюю привязку между формами ввода и состоянием приложения. Давайте обновим наше приложение, добавив поле ввода:
<div id="app">
<input v-model="message">
<p>The message is: {{ message }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
message: 'Hello, Vue!'
}
})
</script>
Теперь, когда вы вводите текст в поле ввода, вы увидите, как сообщение обновляется в реальном времени. Это как магия, не так ли?
v-if и v-else: Условная отрисовка
Иногда мы хотим отображать или скрывать элементы в зависимости от условия. Вот где v-if
и v-else
могут помочь:
<div id="app">
<button @click="toggleVisibility">Toggle Message</button>
<p v-if="isVisible">Now you see me!</p>
<p v-else>Now you don't!</p>
</div>
<script>
new Vue({
el: '#app',
data: {
isVisible: true
},
methods: {
toggleVisibility() {
this.isVisible = !this.isVisible
}
}
})
</script>
В этом примере мы используем v-if
и v-else
, чтобы переключаться между двумя сообщениями. Директива @click
- это краткая запись для v-on:click
, которая listens за событиями щелчка.
v-for: Отрисовка списков
Когда нам нужно отобразить список элементов, v-for
- это наша goto директива:
<div id="app">
<ul>
<li v-for="fruit in fruits">{{ fruit }}</li>
</ul>
</div>
<script>
new Vue({
el: '#app',
data: {
fruits: ['Apple', 'Banana', 'Cherry', 'Durian']
}
})
</script>
Это отобразит список фруктов. Это так просто!
Методы в Vue
Методы - это функции, которые мы можем использовать для добавления поведения нашим экземплярам Vue. Давайте создадим простой счетчик:
<div id="app">
<p>Count: {{ count }}</p>
<button @click="increment">Increment</button>
<button @click="decrement">Decrement</button>
</div>
<script>
new Vue({
el: '#app',
data: {
count: 0
},
methods: {
increment() {
this.count++
},
decrement() {
this.count--
}
}
})
</script>
Здесь мы определили два метода: increment
и decrement
. Эти методы вызываются при щелчке соответствующих кнопок, обновляя是我们的 property count
.
Вычисляемые свойства: Умные вычисления
Вычисляемые свойства - это как super-powered данные свойства. Они могут выполнять сложные вычисления и кэшируются на основе своих зависимостей. Давайте посмотрим пример:
<div id="app">
<input v-model="firstName">
<input v-model="lastName">
<p>Full Name: {{ fullName }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
firstName: '',
lastName: ''
},
computed: {
fullName() {
return this.firstName + ' ' + this.lastName
}
}
})
</script>
Здесь fullName
- это вычисляемое свойство, которое combines firstName
и lastName
. Оно автоматически обновляется, когда изменяется любая из его зависимостей.
Итог методов Vue.js
Вот таблица, резюмирующая методы Vue.js, которые мы рассмотрели:
Method | Description | Example |
---|---|---|
data | Holds the data for the Vue instance | data: { message: 'Hello' } |
methods | Contains functions to add behavior | methods: { greet() { alert('Hi!') } } |
computed | Cached properties that update when dependencies change | computed: { fullName() { return this.firstName + ' ' + this.lastName } } |
el | Specifies the element to mount the Vue instance on | el: '#app' |
Заключение
Поздравляю! Вы сделали свои первые шаги в чудесный мир Vue.js. Мы рассмотрели основы создания экземпляра Vue, использования директив для интерактивности и добавления поведения с помощью методов и вычисляемых свойств.
Помните, что обучение кодированию похоже на обучение новому языку - это требует практики и терпения. Не отчаивайтесь, если все не срабатывает сразу. Продолжайте экспериментировать, продолжайте строить и, самое главное, продолжайте наслаждаться!
В следующем уроке мы углубимся в компоненты, строительные блоки больших приложений Vue. Пока что, счастливого кодирования!
Credits: Image by storyset