-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvue.js
47 lines (46 loc) · 2.89 KB
/
vue.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const App = {
data() {
return {
activeIndex: 0,
finished: false,
steps: [
{title: 'Основы', text: 'В блоке вы познакомитесь со всеми основами Vue.js на практике. На протяжении блока мы напишем реактивное приложение, в процессе разработки которого разберем вся базу фреймворка.'},
{title: 'Компоненты', text: 'Один из самых важных блоков в курсе, где вы узнаете все о компонентах. В блоке мы напишем 2 разных приложения и создадим более 5 различных UI компонентов как в реальной разработке. Блок расскажет про абсолютно все составляющие, которые есть в компонентах: взаимодействие, slots, асинхронные и динамические компоненты и тонна примеров.'},
{title: 'Роутер', text: 'В данном блоке вы узнаете все о том, как работает мультиязычность во Vue. Мы создадим миниклон Gmail в данном блоке, где вы на практике увидите как работать с динамическим роутером.'},
{title: 'Vuex', text: 'В блоке вы узнаете абсолютно все про Vuex. Вы узнаете как работать с данными, какие есть лучшие практики по их программированию и структурированию. Все на практике.'},
{title: 'Composition', text: 'Одним из наиболее важных обновлений в Vue 3 является появление альтернативного синтаксиса Composition API. В этом блоке вы узнаете все, чтобы полностью пользоваться данными синтаксисом на практических примерах. Помимо этого вы узнаете как работать совместно с Vue Router и Vuex.'},
]
}
},
methods: {
prev() {
if (this.activeIndex)
this.activeIndex--
},
reset() {
this.activeIndex = 0
this.finished = false
},
nextOfFinish() {
if (this.isLastStep)
this.finished = true
else
this.activeIndex++
},
setActive(idx) {
this.activeIndex = idx
}
},
computed: {
currentStep() {
return this.steps[this.activeIndex]
},
backButton() {
return !this.activeIndex
},
isLastStep() {
return this.activeIndex === this.steps.length - 1
}
}
}
Vue.createApp(App).mount('#app')