Skip to content

Commit 883e5d1

Browse files
authored
Merge pull request vuejs#205 from Alex-Sokolov/master
Новые правки
2 parents deea251 + 4b3ce4f commit 883e5d1

File tree

5 files changed

+68
-32
lines changed

5 files changed

+68
-32
lines changed

_config.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,6 @@ offline:
112112
handler: networkFirst
113113
options:
114114
origin: ad.doubleclick.net
115-
- urlPattern: /*
116-
handler: networkFirst
117-
options:
118-
origin: srv.carbonads.net
119115
# CDNs - should be cacheFirst, since they should be used specific versions so should not change
120116
- urlPattern: /*
121117
handler: cacheFirst

src/v2/guide/components.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -501,14 +501,14 @@ Vue.component('example', {
501501

502502
``` js
503503
Vue.component('button-counter', {
504-
template: '<button v-on:click="increment">{{ counter }}</button>',
504+
template: '<button v-on:click="incrementCounter">{{ counter }}</button>',
505505
data: function () {
506506
return {
507507
counter: 0
508508
}
509509
},
510510
methods: {
511-
increment: function () {
511+
incrementCounter: function () {
512512
this.counter += 1
513513
this.$emit('increment')
514514
}
@@ -536,14 +536,14 @@ new Vue({
536536
</div>
537537
<script>
538538
Vue.component('button-counter', {
539-
template: '<button v-on:click="increment">{{ counter }}</button>',
539+
template: '<button v-on:click="incrementCounter">{{ counter }}</button>',
540540
data: function () {
541541
return {
542542
counter: 0
543543
}
544544
},
545545
methods: {
546-
increment: function () {
546+
incrementCounter: function () {
547547
this.counter += 1
548548
this.$emit('increment')
549549
}
@@ -565,7 +565,7 @@ new Vue({
565565

566566
Важно отметить, что потомок остаётся полностью независимым от всего происходящего снаружи. Он всего лишь уведомляет внешний мир о происходящем с ним, на случай если родительскому компоненту это будет интересно.
567567

568-
#### Подписка на нативные события в компонентах
568+
### Подписка на нативные события в компонентах
569569

570570
Иногда нужно подписаться на нативные события браузера в корневом элементе компонента. В таких случаях можно применить `v-on` с модификатором `.native`, например так:
571571

src/v2/guide/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ $ npm run dev
8888

8989
### Runtime + Компилятор vs. Runtime-only
9090

91-
Если вам нужно компилировать шаблоны на лету (например, если передавать строку в опцию `template`, или монтировать к элементу DOM, используя его HTML в качестве шаблона), вам потребуется компилятор и, таким образом, полная сборка:
91+
Если вам нужно компилировать шаблоны на клиенте (например, если передавать строку в опцию `template`, или монтировать к элементу DOM, используя его HTML в качестве шаблона), вам потребуется компилятор и, таким образом, полная сборка:
9292

9393
``` js
9494
// это требует компилятора

src/v2/guide/list.md

Lines changed: 42 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ new Vue({ el: '#range' })
230230
v-for="(item, index) in items"
231231
v-bind:item="item"
232232
v-bind:index="index"
233-
v-bind:key="item.id">
234-
</my-component>
233+
v-bind:key="item.id"
234+
></my-component>
235235
```
236236

237237
Причина, по которой `item` не передаётся в компонент автоматически, в том, что это сделало бы компонент жёстко связанным с логикой работы `v-for`. А если источник данных указывается явно, компонент можно будет использовать и в других ситуациях.
@@ -249,8 +249,8 @@ new Vue({ el: '#range' })
249249
<li
250250
is="todo-item"
251251
v-for="(todo, index) in todos"
252-
v-bind:key="index"
253-
v-bind:title="todo"
252+
v-bind:key="todo.id"
253+
v-bind:title="todo.title"
254254
v-on:remove="todos.splice(index, 1)"
255255
></li>
256256
</ul>
@@ -273,14 +273,27 @@ new Vue({
273273
data: {
274274
newTodoText: '',
275275
todos: [
276-
'Вымыть посуду',
277-
'Вынести мусор',
278-
'Подстричь газон'
279-
]
276+
{
277+
id: 1,
278+
title: 'Вымыть посуду'
279+
},
280+
{
281+
id: 2,
282+
title: 'Вынести мусор'
283+
},
284+
{
285+
id: 3,
286+
title: 'Подстричь газон'
287+
}
288+
],
289+
nextTodoId: 4
280290
},
281291
methods: {
282292
addNewTodo: function () {
283-
this.todos.push(this.newTodoText)
293+
this.todos.push({
294+
id: this.nextTodoId++,
295+
title: this.newTodoText
296+
})
284297
this.newTodoText = ''
285298
}
286299
}
@@ -298,8 +311,8 @@ new Vue({
298311
<li
299312
is="todo-item"
300313
v-for="(todo, index) in todos"
301-
v-bind:key="index"
302-
v-bind:title="todo"
314+
v-bind:key="todo.id"
315+
v-bind:title="todo.title"
303316
v-on:remove="todos.splice(index, 1)"
304317
></li>
305318
</ul>
@@ -319,14 +332,27 @@ new Vue({
319332
data: {
320333
newTodoText: '',
321334
todos: [
322-
'Вымыть посуду',
323-
'Вынести мусор',
324-
'Подстричь газон'
325-
]
335+
{
336+
id: 1,
337+
title: 'Вымыть посуду'
338+
},
339+
{
340+
id: 2,
341+
title: 'Вынести мусор'
342+
},
343+
{
344+
id: 3,
345+
title: 'Подстричь газон'
346+
}
347+
],
348+
nextTodoId: 4
326349
},
327350
methods: {
328351
addNewTodo: function () {
329-
this.todos.push(this.newTodoText)
352+
this.todos.push({
353+
id: this.nextTodoId++,
354+
title: this.newTodoText
355+
})
330356
this.newTodoText = ''
331357
}
332358
}

src/v2/guide/transitions.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ new Vue({
153153
```
154154

155155
{% raw %}
156-
<div id="example-1">
156+
<div id="example-1" class="demo">
157157
<button @click="show = !show">
158158
Переключить рендеринг
159159
</button>
@@ -1520,7 +1520,7 @@ Vue.component('my-special-transition', {
15201520
``` html
15211521
<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>
15221522

1523-
<div id="dynamic-fade-demo">
1523+
<div id="dynamic-fade-demo" class="demo">
15241524
Fade In: <input type="range" v-model="fadeInDuration" min="0" v-bind:max="maxFadeDuration">
15251525
Fade Out: <input type="range" v-model="fadeOutDuration" min="0" v-bind:max="maxFadeDuration">
15261526
<transition
@@ -1531,7 +1531,14 @@ Vue.component('my-special-transition', {
15311531
>
15321532
<p v-if="show">hello</p>
15331533
</transition>
1534-
<button v-on:click="stop = true">Stop it!</button>
1534+
<button
1535+
v-if="stop"
1536+
v-on:click="stop = false; show = false"
1537+
>Запустить анимацию</button>
1538+
<button
1539+
v-else
1540+
v-on:click="stop = true"
1541+
>Остановить анимацию</button>
15351542
</div>
15361543
```
15371544

@@ -1543,7 +1550,7 @@ new Vue({
15431550
fadeInDuration: 1000,
15441551
fadeOutDuration: 1000,
15451552
maxFadeDuration: 1500,
1546-
stop: false
1553+
stop: true
15471554
},
15481555
mounted: function () {
15491556
this.show = false
@@ -1595,7 +1602,14 @@ new Vue({
15951602
>
15961603
<p v-if="show">hello</p>
15971604
</transition>
1598-
<button v-on:click="stop = true">Stop it!</button>
1605+
<button
1606+
v-if="stop"
1607+
v-on:click="stop = false; show = false"
1608+
>Запустить анимацию</button>
1609+
<button
1610+
v-else
1611+
v-on:click="stop = true"
1612+
>Остановить анимацию</button>
15991613
</div>
16001614
<script>
16011615
new Vue({
@@ -1605,7 +1619,7 @@ new Vue({
16051619
fadeInDuration: 1000,
16061620
fadeOutDuration: 1000,
16071621
maxFadeDuration: 1500,
1608-
stop: false
1622+
stop: true
16091623
},
16101624
mounted: function () {
16111625
this.show = false

0 commit comments

Comments
 (0)