Files
freeCodeCamp/guide/russian/vue/declarative-rendering/index.md

81 lines
3.7 KiB
Markdown
Raw Normal View History

2018-10-12 16:00:59 -04:00
---
title: Declarative Rendering
localeTitle: Декларативное рендеринг
---
2018-11-30 13:30:46 +08:00
## Установка
2018-10-12 16:00:59 -04:00
2018-11-30 13:30:46 +08:00
Прежде чем мы начнем, существует несколько способов использования Vue.js, а именно через CDN и через установку пакета. Для начала проще всего использовать CDN.
2018-10-12 16:00:59 -04:00
Для разработки используйте это:
```html
<!-- development version, includes helpful console warnings -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
```
2018-11-30 13:30:46 +08:00
Для production это:
2018-10-12 16:00:59 -04:00
```html
<!-- production version, optimized for size and speed -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
```
2018-11-30 13:30:46 +08:00
Как упоминалось ранее, вы также можете установить пакет `vue-cli` , но это не рекомендуется для начинающих.
2018-10-12 16:00:59 -04:00
## Декларативное рендеринг
2018-11-30 13:30:46 +08:00
Vue.js - отличный инструмент для создания динамических страниц и вам в первую очередь стоит познакомиться с декларативным рендерингом.
2018-10-12 16:00:59 -04:00
2018-11-30 13:30:46 +08:00
Использование термина декларативность подразумевает отношения этого концепта к декларативным языкам. В ядре Vue.js находится система, которая позволяет декларативно отображать данные в DOM с помощью простых шаблонов:
2018-10-12 16:00:59 -04:00
```html
<div id="app">
{{ message }}
</div>
```
```javascript
let app = new Vue({
el: '#app',
data: {
message: 'Hello, world!'
}
});
```
2018-11-30 13:30:46 +08:00
В этих снипетах вы сообщаете Vue динамически отобразить все, что хранится внутри переменной 'message'. А самое главное: всякий раз, когда 'message' изменяется, Vue.js удается перезагрузить определенную часть DOM и вы можете увидеть изменение.
2018-10-12 16:00:59 -04:00
2018-11-30 13:30:46 +08:00
Если вы хотите попробовать эту реактивность, откройте консоль и измените значение от `app.message` до, скажем, `"Hello from console"` . Вы заметили изменение на странице?
2018-10-12 16:00:59 -04:00
2018-11-30 13:30:46 +08:00
`{{ ... }}` такой синтаксис позволяет выводить значения переменной или выражения. Например вы можете поместить в него условие и оно выведет 'hello':
2018-10-12 16:00:59 -04:00
```html
<div id="app">
{{ 1 < 2 ? "hello" : "goodbye" }}
</div>
```
2018-11-30 13:30:46 +08:00
Есть случаи когда мы хотим установить в значение атрибута переменную из Vue. Вы можете подумать, что можно использовать такой же синтаксис, но во Vue есть кое-что специально для этой цели, это называется биндинг.
2018-10-12 16:00:59 -04:00
```html
<div id="app">
<a v-bind:href="dynamicLink">This link</a>
</div>
```
```javascript
let app = new Vue({
el: '#app',
data: {
dynamicLink: 'medium.freecodecamp.org'
}
}
```
2018-11-30 13:30:46 +08:00
Синтаксис `v-bind` - это то, что во Vue.js называет «директивой». Это способ установить атрибут тега, который будет обрабатываться Vue. Во Vue множество директив, все они начинаются с `v-`.