You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/v2/api/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2121,7 +2121,7 @@ type: api
2121
2121
2122
2122
При использовании на элементах/компонентах с `v-for`, регистрируется массив ссылок на элементы DOM или экземпляры компонентов.
2123
2123
2124
-
Важное замечание о времени регистрации ссылок: поскольку ссылки создаются `render`-функцией, вы не cможете использовать их при первичном рендеринге — на тот момент они ещё не существуют! Кроме того, объект `$refs` не является реактивным, поэтому не стоит пытаться использовать его в шаблонах для связывания данных.
2124
+
Важное замечание о времени регистрации ссылок: поскольку ссылки создаются `render`-функцией, вы не сможете использовать их при первичном рендеринге — на тот момент они ещё не существуют! Кроме того, объект `$refs` не является реактивным, поэтому не стоит пытаться использовать его в шаблонах для связывания данных.
2125
2125
2126
2126
- **См. также:** [Ссылки на компоненты-потомки](../guide/components.html#Ссылки-на-компоненты-потомки)
2127
2127
@@ -2380,7 +2380,7 @@ type: api
2380
2380
2381
2381
Подробнее этот механизм описан в руководстве по ссылке ниже.
Copy file name to clipboardExpand all lines: src/v2/guide/comparison.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -220,7 +220,7 @@ Polymer — это ещё один проект, спонсируемый Googl
220
220
221
221
В Polymer 1.0, разработчики существенно ограничили систему связывания данных для улучшения производительности. Например, единственными поддерживаемыми в шаблонах Polymer выражениями являются булево отрицание и одиночные вызовы методов. Реализация вычисляемых свойств — тоже не очень гибкая.
222
222
223
-
Пользовательские элементы Polymer пишутся в HTML-файлах, что ограничивает авторов использованием обыкновенного JavaScript/CSS (и возможностей языка, поддерживаемых браузерами на данный момент). Vue же позволяет использовать в однофайловых компонентах какие угодно пре- и построцессоры, включая, разумеется, и ES2015+.
223
+
Пользовательские элементы Polymer пишутся в HTML-файлах, что ограничивает авторов использованием обыкновенного JavaScript/CSS (и возможностей языка, поддерживаемых браузерами на данный момент). Vue же позволяет использовать в однофайловых компонентах какие угодно пре- и постпроцессоры, включая, разумеется, и ES2015+.
224
224
225
225
При работе в production-окружении, Polymer рекомендует загружать всё "на лету" при помощи HTML Import'ов, что подразумевает как имплементацию этой технологии браузерами, так и поддержку HTTP/2 и сервером, и клиентом. Не для всякой целевой аудитории и не для всякого окружения это может быть выполнимо. В таких случаях предполагается использовать специальный инструмент под названием Vulcanizer, объединяющий элементы Polymer. Vue позволяет комбинировать возможности асинхронной загрузки компонентов c функциями по разделению кода Webpack'а, организуя "ленивую" загрузку частей приложения. Таким образом мы сохраняем совместимость со старыми браузерами, не теряя производительности на этапе загрузки приложения.
Copy file name to clipboardExpand all lines: src/v2/guide/migration-vue-router.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ type: guide
4
4
order: 702
5
5
---
6
6
7
-
> Только Vue Router 2 совместим с Vue 2, поэтому, если вы обновляете Vue, вы должны также обновить и Vue Router. Поэтому мы включили описание процесса миграции в основную документацию. Для подробной инструкции по использованию новой версии Vue Router, обратитесь к документации [Vue Router](https://router.vuejs.org/ru/).
7
+
> Только Vue Router 2 совместим с Vue 2, поэтому если вы обновляете Vue, вы должны также обновить и Vue Router. Поэтому мы включили описание процесса миграции в основную документацию. Для подробной инструкции по использованию новой версии Vue Router, обратитесь к документации [Vue Router](https://router.vuejs.org/ru/).
8
8
9
9
## Инициализация роутера
10
10
@@ -331,7 +331,7 @@ if (route.meta.requiresAuth) {
331
331
332
332
### `router.go` <sup>изменено</sup>
333
333
334
-
Для соответствия [HTML5 History API](https://developer.mozilla.org/en-US/docs/Web/API/History_API), `router.go` теперь используется только для [навигации вперед/назад](https://router.vuejs.org/ru/essentials/navigation.html#routergon), в то время как [`router.push`](https://router.vuejs.org/ru/essentials/navigation.html#routerpushlocation) используется для перехода на конкретную страницу.
334
+
Для соответствия [HTML5 History API](https://developer.mozilla.org/ru/docs/Web/API/History_API), `router.go` теперь используется только для [навигации вперед/назад](https://router.vuejs.org/ru/essentials/navigation.html#routergon), в то время как [`router.push`](https://router.vuejs.org/ru/essentials/navigation.html#routerpushlocation) используется для перехода на конкретную страницу.
335
335
336
336
{% raw %}
337
337
<divclass="upgrade-path">
@@ -430,7 +430,7 @@ scrollBehavior: function (to, from, savedPosition) {
430
430
431
431
### `root` <sup>переименовано</sup>
432
432
433
-
Переименовано в `base` для соответствия [HTML-эелементу `<base>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base).
433
+
Переименовано в `base` для соответствия [HTML-эелементу `<base>`](https://developer.mozilla.org/ru/docs/Web/HTML/Element/base).
Copy file name to clipboardExpand all lines: src/v2/guide/migration.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -876,7 +876,7 @@ Instead of:
876
876
<pv-for="item in items | limitBy 10">{{ item }}</p>
877
877
```
878
878
879
-
Use JavaScript's built-in [`.slice` method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice#Examples) in a computed property:
879
+
Use JavaScript's built-in [`.slice` method](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/slice#Examples) in a computed property:
880
880
881
881
```html
882
882
<pv-for="item in filteredItems">{{ item }}</p>
@@ -898,7 +898,7 @@ Instead of:
898
898
<pv-for="user in users | filterBy searchQuery in 'name'">{{ user.name }}</p>
899
899
```
900
900
901
-
Use JavaScript's built-in [`.filter` method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#Examples) in a computed property:
901
+
Use JavaScript's built-in [`.filter` method](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#Examples) in a computed property:
902
902
903
903
```html
904
904
<pv-for="user in filteredUsers">{{ user.name }}</p>
Copy file name to clipboardExpand all lines: src/v2/guide/reactivity.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ order: 601
8
8
9
9
## Как отслеживаются изменения
10
10
11
-
Когда простой JavaScript-объект передаётся в экземпляр Vue в качестве опции `data`, Vue обходит все его поля и превращает их в пары геттер/сеттер, используя [Object.defineProperty](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty). Эта возможность появилась в JavaScript только начиная с версии ES5, и в более ранних версиях её эмулировать не получится — по этой-то причине Vue и не поддерживает IE8 и ниже.
11
+
Когда простой JavaScript-объект передаётся в экземпляр Vue в качестве опции `data`, Vue обходит все его поля и превращает их в пары геттер/сеттер, используя [Object.defineProperty](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty). Эта возможность появилась в JavaScript только начиная с версии ES5, и в более ранних версиях её эмулировать не получится — по этой-то причине Vue и не поддерживает IE8 и ниже.
12
12
13
13
Геттеры и сеттеры не видны пользователю, но именно они являются тем внутренним механизмом, который позволяет Vue отслеживать зависимости и изменения данных. К сожалению, при таком подходе выведенные в консоль браузера геттеры и сеттеры выглядят не так, как обычные объекты, поэтому для более наглядной визуализации лучше использовать [инструменты разработчика Vue-devtools](https://github.com/vuejs/vue-devtools).
14
14
@@ -77,7 +77,7 @@ vm.message = 'Hello!'
77
77
78
78
На всякий случай напомним, что во Vue обновление DOM выполняется **асинхронно**. Каждый раз, когда обнаруживается изменение в данных, создаётся очередь, которая используется в качестве буфера для этого и последующих изменений, происходящих в текущей итерации ("tick") цикла событий. Если один и тот же наблюдатель срабатывает несколько раз, в очередь он попадёт всё равно лишь единожды. Благодаря использованию буфера и устранению дубликатов, вычисления и манипуляции DOM сводятся к минимуму. В следующей итерации цикла событий Vue разбирает очередь и выполняет актуальные (уже не содержащие дубликатов) обновления. На низком уровне для асинхронной постановки задач в очередь используются `Promise.then` и `MessageChannel`, а если они недоступны, то `setTimeout(fn, 0)`.
79
79
80
-
Итак, если выполнить код `vm.someData = 'new value'`, компонент не будет перерендерен сразу же. Он обновится в следующей итерации при разборе очереди. Чаще всего эту особенность можно не принимать в расчёт, но иногда бывает нужно дождаться состояния, в которое DOM перейдёт после обновления данных. Хотя прямая манипуляция DOM нежелательна, а системы в целом предпочтительнее проектировать так, чтобы в них были первичны данные, иногда всё же её не избежать. Чтобы выполнить какой-нибудь код только после того, как завершится обновление DOM, можно передать коллбэк в метод `Vue.nextTick(callback)` после изменения данных. Он будет вызван после обновления DOM. Например:
80
+
Итак, если выполнить код `vm.someData = 'new value'`, компонент не будет перерендерен сразу же. Он обновится в следующей итерации при разборе очереди. Чаще всего эту особенность можно не принимать в расчёт, но иногда бывает нужно дождаться состояния, в которое DOM перейдёт после обновления данных. Хотя прямая манипуляция DOM нежелательна, а системы в целом предпочтительнее проектировать так, чтобы в них были первичные данные, иногда всё же её не избежать. Чтобы выполнить какой-нибудь код только после того, как завершится обновление DOM, можно передать коллбэк в метод `Vue.nextTick(callback)` после изменения данных. Он будет вызван после обновления DOM. Например:
0 commit comments