Skip to content

Commit c2410b2

Browse files
authored
Merge pull request vuejs#109 from Alex-Sokolov/master
Заметил что каким-то образом не везде инстансы заменил + мелкая правка
2 parents d8a336c + 7f59a68 commit c2410b2

File tree

8 files changed

+18
-18
lines changed

8 files changed

+18
-18
lines changed

src/v2/guide/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ var app2 = new Vue({
8888
</script>
8989
{% endraw %}
9090

91-
Здесь мы встречаемся с кое-чем новым. Атрибут `v-bind`, который вы видите, называется **директивой**. Директивы имеют префикс `v-`, указывающий на их особую природу. Как вы уже могли догадаться, они применяют к отображаемому DOM особое реактивное поведение, управляемое Vue. В данном примере директива говорит "сохраняй значение title этого элемента актуальным при изменении свойства `message` у инстанса Vue".
91+
Здесь мы встречаемся с кое-чем новым. Атрибут `v-bind`, который вы видите, называется **директивой**. Директивы имеют префикс `v-`, указывающий на их особую природу. Как вы уже могли догадаться, они применяют к отображаемому DOM особое реактивное поведение, управляемое Vue. В данном примере директива говорит "сохраняй значение title этого элемента актуальным при изменении свойства `message` у экземпляра Vue".
9292

9393
Если вы снова откроете консоль JavaScript и введёте `app2.message = 'какое-то новое сообщение'`, вы опять-таки увидите, что связанный код HTML — в данном случае, атрибут `title` — обновился.
9494

@@ -258,7 +258,7 @@ var app6 = new Vue({
258258

259259
![Дерево Компонентов](/images/components.png)
260260

261-
Во Vue, компонент — это, по сути, инстанс Vue с предустановленными опциями. Создать новый компонент во Vue просто:
261+
Во Vue, компонент — это, по сути, экземпляр Vue с предустановленными опциями. Создать новый компонент во Vue просто:
262262

263263
``` js
264264
// Определяем новый компонент под названием todo-item

src/v2/guide/migration-vue-router.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ router.start({
1818
}, '#app')
1919
```
2020

21-
вы должны передать роутер как свойство в инстанс Vue:
21+
вы должны передать роутер как свойство в экземпляр Vue:
2222

2323
``` js
2424
new Vue({

src/v2/guide/migration-vuex.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ store.watch(
4949

5050
## Вызов событий из хранилища <sup>удалено</sup>
5151

52-
Инстанс хранилища больше не предоставляет интерфейс вызова событий (`on`,` off`, `emit`). Если вы ранее использовали хранилище в качестве глобальной шины событий - [см. этот раздел](migration.html#dispatch-and-broadcast-removed) инструкций по миграции.
52+
Экземпляр хранилища больше не предоставляет интерфейс вызова событий (`on`,` off`, `emit`). Если вы ранее использовали хранилище в качестве глобальной шины событий - [см. этот раздел](migration.html#dispatch-and-broadcast-removed) инструкций по миграции.
5353

5454
Вместо того чтобы использовать этот интерфейс для отслеживания событий, пробрасываемых самим хранилищем (например, `store.on('mutation', callback)`), представлен новый метод - `store.subscribe`. Типичное использование в плагине выглядит как:
5555

src/v2/guide/mixins.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ vm.conflicting() // -> "из самого компонента"
8888

8989
## Глобальные примеси
9090

91-
Примесь может быть применена и глобально. Но используйте данную возможность осторожно! После применения, примесь окажет влияние на **все** инстансы Vue, создаваемые в дальнейшем. При правильном использовании это можно использовать для вставки логики обработки пользовательских опций:
91+
Примесь может быть применена и глобально. Но используйте данную возможность осторожно! После применения, примесь окажет влияние на **все** экземпляры Vue, создаваемые в дальнейшем. При правильном использовании это можно использовать для вставки логики обработки пользовательских опций:
9292

9393
``` js
9494
// добавляем обработчик для пользовательской опции `myOption`
@@ -107,7 +107,7 @@ new Vue({
107107
// -> "hello!"
108108
```
109109

110-
<p class="tip">Используйте глобальные примеси с осторожностью, поскольку они влияют на все до единого создаваемые инстансы Vue, включая внешние компоненты. В большинстве случаев их стоит использовать только для обработки пользовательских опций, подобно примеру выше. Неплохой идеей будет их оформление в виде [плагинов](plugins.html), что позволит избежать дублирования кода.</p>
110+
<p class="tip">Используйте глобальные примеси с осторожностью, поскольку они влияют на все до единого создаваемые экземпляры Vue, включая внешние компоненты. В большинстве случаев их стоит использовать только для обработки пользовательских опций, подобно примеру выше. Неплохой идеей будет их оформление в виде [плагинов](plugins.html), что позволит избежать дублирования кода.</p>
111111

112112
## Пользовательские стратегии слияния опций
113113

src/v2/guide/plugins.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ order: 18
1414

1515
3. Добавляющие опции компонентов посредством глобальной примеси, например [Vuex](https://github.com/vuejs/vuex)
1616

17-
4. Добавляющие методы инстанса Vue через Vue.prototype.
17+
4. Добавляющие методы экземпляра Vue через Vue.prototype.
1818

1919
5. Библиотеки, предоставляющие собственные API, комбинируя вышеперечисленные возможности, например [Vue-router](https://github.com/vuejs/vue-router)
2020

@@ -43,7 +43,7 @@ MyPlugin.install = function (Vue, options) {
4343
...
4444
})
4545

46-
// 4. добавление метода инстанса
46+
// 4. добавление метода экземпляра
4747
Vue.prototype.$myMethod = function (options) {
4848
// некоторая логика ...
4949
}

src/v2/guide/reactivity.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ order: 12
88

99
## Как отслеживаются изменения
1010

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/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty). Эта возможность появилась в JavaScript только начиная с версии ES5, и в более ранних версиях её эмулировать не получится — по этой-то причине Vue и не поддерживает IE8 и ниже.
1212

1313
Геттеры и сеттеры не видны пользователю, но именно они являются тем внутренним механизмом, который позволяет Vue отслеживать зависимости и изменения данных. К сожалению, при таком подходе выведенные в консоль браузера геттеры и сеттеры выглядят не так, как обычные объекты, поэтому для более наглядной визуализации лучше использовать [инструменты разработчика Vue-devtools](https://github.com/vuejs/vue-devtools).
1414

15-
К каждому инстансу компонента приставлен связанный с ним **инстанс наблюдателя**, который помечает все поля, затронутые при рендеринге компонента, как зависимости. В дальнейшем, когда вызывается сеттер поля, помеченного как зависимость, этот сеттер уведомляет наблюдателя, который в свою очередь инициирует повторный рендеринг компонента.
15+
К каждому экземпляру компонента приставлен связанный с ним **экземпляр наблюдателя**, который помечает все поля, затронутые при рендеринге компонента, как зависимости. В дальнейшем, когда вызывается сеттер поля, помеченного как зависимость, этот сеттер уведомляет наблюдателя, который в свою очередь инициирует повторный рендеринг компонента.
1616

1717
![Цикл реактивности](/images/data.png)
1818

1919
## Особенности отслеживания изменений
2020

21-
В силу ограничений современного JavaScript (и отказа от `Object.observe`), Vue **не может отследить добавление или удаление свойства объекта**. Чтобы поле стало реактивным, Vue превращает его пару геттер/сеттер в ходе инициализации инстанса. Поэтому все поля должны изначально быть заданы в объекте `data`. Например:
21+
В силу ограничений современного JavaScript (и отказа от `Object.observe`), Vue **не может отследить добавление или удаление свойства объекта**. Чтобы поле стало реактивным, Vue превращает его пару геттер/сеттер в ходе инициализации экземпляра. Поэтому все поля должны изначально быть заданы в объекте `data`. Например:
2222

2323
``` js
2424
var vm = new Vue({
@@ -32,13 +32,13 @@ vm.b = 2
3232
// `vm.b` НЕ реактивно
3333
```
3434

35-
Во Vue нельзя динамически добавлять новые корневые реактивные свойства в уже существующий инстанс. Тем не менее, можно добавить реактивное свойство во вложенные объекты, используя метод `Vue.set(object, key, value)`:
35+
Во Vue нельзя динамически добавлять новые корневые реактивные свойства в уже существующий экземпляр. Тем не менее, можно добавить реактивное свойство во вложенные объекты, используя метод `Vue.set(object, key, value)`:
3636

3737
``` js
3838
Vue.set(vm.someObject, 'b', 2)
3939
```
4040

41-
Также можно использовать метод инстанса `vm.$set`, который представляет собой псевдоним к глобальному `Vue.set`:
41+
Также можно использовать метод экземпляра `vm.$set`, который представляет собой псевдоним к глобальному `Vue.set`:
4242

4343
``` js
4444
this.$set(this.someObject, 'b', 2)
@@ -97,7 +97,7 @@ Vue.nextTick(function () {
9797
})
9898
```
9999

100-
Существует также метод инстанса `vm.$nextTick()`, особенно подходящий для использования внутри компонентов, поскольку он не требует обращения к глобальной переменной `Vue`, а также автоматически связывает контекст `this` коллбэка с текущим инстансом Vue:
100+
Существует также метод экземпляра `vm.$nextTick()`, особенно подходящий для использования внутри компонентов, поскольку он не требует обращения к глобальной переменной `Vue`, а также автоматически связывает контекст `this` коллбэка с текущим экземпляром Vue:
101101

102102
``` js
103103
Vue.component('example', {

src/v2/guide/ssr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ Vue.component({
325325

326326
Если вы хотите действительно хорошо разобраться в SSR сложных приложений, мы советуем ознакомиться со следующими ресурсами:
327327

328-
- [документация vue-server-renderer](https://www.npmjs.com/package/vue-server-renderer#api): более подробно о том, о чём мы уже здесь говорили, а также по более продвинутым темам, таким как [предотвращение cross-request-загрязнения](https://www.npmjs.com/package/vue-server-renderer#why-use-bundlerenderer) и [и добавление отдельной серверной сборки](https://www.npmjs.com/package/vue-server-renderer#creating-the-server-bundle)
328+
- [документация vue-server-renderer](https://www.npmjs.com/package/vue-server-renderer#api): более подробно о том, о чём мы уже здесь говорили, а также по более продвинутым темам, таким как [предотвращение cross-request-загрязнения](https://www.npmjs.com/package/vue-server-renderer#why-use-bundlerenderer) и [добавление отдельной серверной сборки](https://www.npmjs.com/package/vue-server-renderer#creating-the-server-bundle)
329329
- [vue-hackernews-2.0](https://github.com/vuejs/vue-hackernews-2.0): подробный пример, объединяющий все основные библиотеки и концепции Vue в единое приложение
330330

331331
## Nuxt.js

src/v2/guide/typescript.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export default {
6969

7070
К сожалению, есть несколько ограничений:
7171

72-
- __TypeScript не может вывести все типы из API Vue.__ К примеру, он не знает, что свойство `message`, возвращаемое в нашей функции `data` будет добавлено к инстансу `MyComponent`. Это означает, что если мы присвоим число или булево значение переменной `message`, проверка синтаксиса и компиляторы не выбросят ошибку о том, что это должна была быть строка.
72+
- __TypeScript не может вывести все типы из API Vue.__ К примеру, он не знает, что свойство `message`, возвращаемое в нашей функции `data` будет добавлено к экземпляру `MyComponent`. Это означает, что если мы присвоим число или булево значение переменной `message`, проверка синтаксиса и компиляторы не выбросят ошибку о том, что это должна была быть строка.
7373

7474
- По причине этого ограничения __аннотирование типов может быть громоздким__. Единственной причиной, по которой нам необходимо вручную объявлять переменную `message` строкой, является неспособность TypeScript вывести тип в данном случае.
7575

@@ -85,10 +85,10 @@ import Component from 'vue-class-component'
8585
template: '<button @click="onClick">Click!</button>'
8686
})
8787
export default class MyComponent extends Vue {
88-
// Данные инициализации могут быть объявлены как свойства инстанса
88+
// Данные инициализации могут быть объявлены как свойства экземпляра
8989
message: string = 'Hello!'
9090

91-
// Методы компонента могут быть объявлены как методы инстанса
91+
// Методы компонента могут быть объявлены как методы экземпляра
9292
onClick (): void {
9393
window.alert(this.message)
9494
}

0 commit comments

Comments
 (0)