Skip to content

Commit b193e21

Browse files
committed
Merge remote-tracking branch 'upstream/master'
# Conflicts: # src/v2/guide/instance.md # src/v2/guide/render-function.md
2 parents ea80bac + a75d281 commit b193e21

File tree

3 files changed

+146
-28
lines changed

3 files changed

+146
-28
lines changed

src/v2/guide/instance.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ order: 3
66

77
## Constructeur
88

9-
Chaque Vue vm est initialisée en créant une **instance racine de Vue** avec le constructeur de la fonction `Vue`
9+
Chaque application Vue est initialisée en créant une **instance racine de Vue** avec le constructeur de la fonction `Vue` :
1010

1111
``` js
1212
var vm = new Vue({
1313
// options
1414
})
1515
```
1616

17-
Bien que n'étant pas strictement associée au patron d'architecture [MVVM pattern](https://en.wikipedia.org/wiki/Model_View_ViewModel), la conception de Vue s'en est en partie inspirée. Par convention, nous utilisons souvent la variable `vm` (abréviation pour ViewModel) pour faire référence à nos instances de Vue.
17+
Bien que n'étant pas strictement associée au patron d'architecture [MVVM pattern](https://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-vue_mod%C3%A8le), la conception de Vue s'en est en partie inspirée. Par convention, nous utilisons souvent la variable `vm` (abréviation pour ViewModel) pour faire référence à nos instances de Vue.
1818

19-
Quand vous créez une instance de Vue, vous devez passer un **objet d'options** qui contient les options pour les données, le template, lélément de montage, les méthodes, les fonctions de retour du cycle de vie etc... La liste des options peut être trouvée [dans la documentation de l'API](../api).
19+
Quand vous créez une instance de Vue, vous devez passer un **objet d'options** qui contient les options pour les données, le template, l'élément de montage, les méthodes, les fonctions de rappel du cycle de vie et plus encore. La liste des options peut être trouvée [dans la documentation de l'API](../api#Options-Data).
2020

2121
Le constructeur de `Vue` peut être étendu pour créer des **constructeurs de composants** réutilisables avec des options prédéfinies.
2222

@@ -53,7 +53,7 @@ data.a = 3
5353
vm.a // -> 3
5454
```
5555

56-
Soulignons que seuls ces propriétés proxifiées sont **réactives**. Si vous attachez une nouvelle propriété à l'instance après sa création, elle ne déclenchera aucune mise à jour de la vue. Nous parlerons plus loin du système de réactivité en détail.
56+
Soulignons que seuls ces propriétés proxifiées sont **réactives**, c.-à-d. que tout changement sur leurs valeurs déclenchera un nouveau rendu de la vue. Si vous attachez une nouvelle propriété à l'instance après sa création, elle ne déclenchera aucune mise à jour de la vue. Nous parlerons plus loin du système de réactivité en détail.
5757

5858
En plus des propriétés de data, les instances de Vue exposent de nombreuses méthodes et propriétés utiles. Ces propriétés et méthodes sont préfixées par `$` pour les différencier des propriétés proxifiées de data. Par exemple :
5959

@@ -75,7 +75,7 @@ vm.$watch('a', function (newVal, oldVal) {
7575

7676
<p class="tip">N'utilisez pas les [fonctions fléchées](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fl%C3%A9ch%C3%A9es) sur une propriété ou fonction de retour d'une instance (par exemple `vm.$watch('a', newVal => this.myMethod())`). Comme les fonctions fléchées sont liées au contexte parent, `this` ne sera pas l'instance de Vue comme vous pourriez vous y attendre et `this.myMethod` sera indéfini.</p>
7777

78-
Consultez [l'API](../api) pour une liste complète des propriétés et méthodes d'une instance.
78+
Consultez [l'API](../api#Proprietes-dinstance) pour une liste complète des propriétés et méthodes d'une instance.
7979

8080
## Les *hooks* de cycle de vie d'une instance
8181

src/v2/guide/render-function.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ Tout ce dont le composant a besoin est passé dans l'objet `context`, qui est un
482482

483483
Après avoir ajouté `functional: true`, mettre à jour la fonction de rendu de notre composant de titres avec ancres va simplement nécessiter d'ajouter l'argument `context`, en remplaçant `this.$slots.default` par `context.children`, puis `this.level` par `context.props.level`.
484484

485-
Puisque les composants fonctionnels ne sont que des fonctions, leur rendu est plus rapide. Cependant, cela signifie également que les composants fonctionnels n'apparaissent pas dans l'arbre des composants de l'outil de développement Vue.js de Chrome.
485+
Puisque les composants fonctionnels ne sont que des fonctions, leur rendu est plus rapide. Cependant, cela signifie également que les composants fonctionnels n'apparaissent pas dans l'arbre des composants de l'outil de développement [Vue devtools](https://github.com/vuejs/vue-devtools).
486486

487487
Ils sont également très utiles en tant que composants enveloppes. Par exemple, quand vous avez besoin de :
488488

src/v2/guide/team.md

Lines changed: 140 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ order: 31
1313
:alt="profile.name" width=80 height=80>
1414
</div>
1515
<div class="profile">
16-
<h3>
16+
<h3 :data-official-title="profile.title">
1717
{{ profile.name }}
18-
<sup v-if="profile.title" v-html="profile.title"></sup>
18+
<sup v-if="profile.title && titleVisible" v-html="profile.title"></sup>
1919
</h3>
2020
<dl>
2121
<template v-if="profile.reposOfficial">
@@ -143,6 +143,7 @@ order: 31
143143
v-for="profile in sortedTeam"
144144
:key="profile.github"
145145
:profile="profile"
146+
:title-visible="titleVisible"
146147
></vuer-profile>
147148
</div>
148149

@@ -182,34 +183,41 @@ order: 31
182183
v-for="profile in sortedPartners"
183184
:key="profile.github"
184185
:profile="profile"
186+
:title-visible="titleVisible"
185187
></vuer-profile>
186188
</div>
187189
</div>
188190

189191
<script>
190192
(function () {
191193
var cityCoordsFor = {
192-
'London, UK': [51.507351, -0.127758],
193-
'Wrocław, Poland': [51.107885, 17.038538],
194-
'Dubna, Russia': [56.732020, 37.166897],
195-
'Tokyo, Japan': [35.689487, 139.691706],
196-
'Lyon, France': [45.764043, 4.835659],
197-
'Mannheim, Germany': [49.487459, 8.466039],
194+
'Annecy, France': [45.899247, 6.129384],
195+
'Alicante, Spain' : [38.346543, -0.483838],
196+
'Bangalore, India': [12.971599, 77.594563],
197+
'Bordeaux, France': [44.837789, -0.579180],
198+
'Bucharest, Romania': [44.426767, 26.102538],
198199
'Chengdu, China': [30.572815, 104.066801],
199200
'Chongqing, China': [29.431586, 106.912251],
200-
'Thessaloniki, Greece': [40.640063, 22.944419],
201-
'Paris, France': [48.856614, 2.352222],
202-
'Bordeaux, France': [44.837789, -0.579180],
203-
'Lansing, MI, USA': [42.732535, -84.555535],
204-
'Jersey City, NJ, USA': [40.728157, -74.558716],
201+
'Dubna, Russia': [56.732020, 37.166897],
205202
'Hangzhou, China': [30.274084, 120.155070],
206-
'Bangalore, India': [12.971599, 77.594563],
203+
'Jersey City, NJ, USA': [40.728157, -74.558716],
207204
'Kingston, Jamaica': [18.017874, -76.809904],
208-
'Tehran, Iran': [35.689197, 51.388974],
209-
'Shanghai, China': [31.230390, 121.473702],
210-
'Annecy, France': [45.899247, 6.129384],
205+
'Krasnodar, Russia': [45.039267, 38.987221],
206+
'Lansing, MI, USA': [42.732535, -84.555535],
207+
'London, UK': [51.507351, -0.127758],
208+
'Lyon, France': [45.764043, 4.835659],
209+
'Mannheim, Germany': [49.487459, 8.466039],
210+
'Moscow, Russia': [55.755826, 37.617300],
211+
'Orlando, FL, USA': [28.538335, -81.379236],
212+
'Paris, France': [48.856614, 2.352222],
211213
'Seoul, South Korea': [37.566535, 126.977969],
212-
'Taquaritinga, Brazil': [-21.430094, -48.515285]
214+
'Shanghai, China': [31.230390, 121.473702],
215+
'Taquaritinga, Brazil': [-21.430094, -48.515285],
216+
'Tehran, Iran': [35.689197, 51.388974],
217+
'Thessaloniki, Greece': [40.640063, 22.944419],
218+
'Tokyo, Japan': [35.689487, 139.691706],
219+
'Toronto, Canada': [43.653226, -79.383184],
220+
'Wrocław, Poland': [51.107885, 17.038538]
213221
}
214222
var languageNameFor = {
215223
en: 'English',
@@ -225,7 +233,8 @@ order: 31
225233
es: 'Español',
226234
hi: 'हिंदी',
227235
fa: 'فارسی',
228-
ko: '한국어'
236+
ko: '한국어',
237+
ro: 'Română'
229238
}
230239

231240
var team = [{
@@ -655,7 +664,7 @@ order: 31
655664
{
656665
name: 'Erick Petrucelli',
657666
title: 'Perfectionist Chief Translator for Portuguese',
658-
city: 'Taquaritinga, Brasil',
667+
city: 'Taquaritinga, Brazil',
659668
languages: ['pt', 'en'],
660669
github: 'ErickPetru',
661670
twitter: 'erickpetru',
@@ -667,13 +676,102 @@ order: 31
667676
reposPersonal: [
668677
'vuejs-br/br.vuejs.org', 'ErickPetru/vue-feathers-chat'
669678
]
679+
},
680+
{
681+
name: 'Razvan Stoenescu',
682+
title: 'Deep Space Quasar Creator',
683+
city: 'Bucharest, Romania',
684+
languages: ['ro', 'en'],
685+
github: 'rstoenescu',
686+
twitter: 'quasarframework',
687+
work: {
688+
role: 'Developer',
689+
org: 'Quasar Framework',
690+
orgUrl: 'http://quasar-framework.org/'
691+
},
692+
reposPersonal: [
693+
'quasarframework/quasar', 'quasarframework/quasar-cli', 'quasarframework/quasar-play'
694+
]
695+
},
696+
{
697+
name: 'Jilson Thomas',
698+
title: 'Vue Promoter and VueJobs Guy',
699+
city: 'Toronto, Canada',
700+
languages: ['en'],
701+
github: 'JillzTom',
702+
twitter: 'jilsonthomas',
703+
work: {
704+
role: 'Senior Frontend Developer',
705+
org: 'Nominator',
706+
orgUrl: 'https://nominator.com/'
707+
},
708+
links: [
709+
'https://vuejobs.com'
710+
]
711+
},
712+
{
713+
name: 'Israel Ortuño',
714+
title: 'VueJobs Buccaneer',
715+
city: 'Alicante, Spain',
716+
languages: ['es', 'en'],
717+
github: 'IsraelOrtuno',
718+
twitter: 'IsraelOrtuno',
719+
work: {
720+
role: 'Full Stack Web Developer',
721+
org: 'Freelance'
722+
},
723+
links: [
724+
'https://vuejobs.com'
725+
]
726+
},
727+
{
728+
name: 'John Leider',
729+
title: 'Vuetiful Framework Sculptor',
730+
city: 'Orlando, FL, USA',
731+
languages: ['en'],
732+
github: 'vuetifyjs',
733+
twitter: 'vuetifyjs',
734+
work: {
735+
role: 'Developer',
736+
org: 'Fast Forward Academy',
737+
orgUrl: 'https://fastforwardacademy.com'
738+
},
739+
reposPersonal: [
740+
'vuetifyjs/vuetify'
741+
]
742+
},
743+
{
744+
name: 'Grigoriy Beziuk',
745+
title: 'Translation Gang Leader',
746+
city: 'Moscow, Russia',
747+
languages: ['ru', 'de', 'en'],
748+
github: 'gbezyuk',
749+
work: {
750+
role: 'Full Stack Web Developer',
751+
org: 'Self Employed',
752+
orgUrl: 'http://gbezyuk.ru'
753+
},
754+
reposPersonal: [
755+
'translation-gang/ru.vuejs.org'
756+
]
757+
},
758+
{
759+
name: 'Alexander Sokolov',
760+
title: 'Russian Translation Sharp Eye',
761+
city: 'Krasnodar, Russia',
762+
languages: ['ru', 'en'],
763+
github: 'Alex-Sokolov',
764+
reposPersonal: [
765+
'translation-gang/ru.vuejs.org'
766+
]
670767
}
671768
]
672769

673770
Vue.component('vuer-profile', {
674771
template: '#vuer-profile-template',
675772
props: {
676-
profile: Object
773+
profile: Object,
774+
titleVisible: Boolean
677775
},
678776
computed: {
679777
workHtml: function () {
@@ -777,14 +875,21 @@ order: 31
777875
isSorting: false,
778876
errorGettingLocation: false,
779877
userPosition: null,
780-
useMiles: false
878+
useMiles: false,
879+
konami: {
880+
position: 0,
881+
code: [38, 38, 40, 40, 37, 39, 37, 39, 66, 65]
882+
}
781883
},
782884
computed: {
783885
sortedTeam: function () {
784886
return this.sortVuersByDistance(this.team)
785887
},
786888
sortedPartners: function () {
787889
return this.sortVuersByDistance(this.partners)
890+
},
891+
titleVisible: function () {
892+
return this.konami.code.length === this.konami.position
788893
}
789894
},
790895
created: function () {
@@ -798,6 +903,10 @@ order: 31
798903
this.useMiles = true
799904
}
800905
}
906+
document.addEventListener('keydown', this.konamiKeydown)
907+
},
908+
beforeDestroy: function () {
909+
document.removeEventListener('keydown', this.konamiKeydown)
801910
},
802911
methods: {
803912
getUserPosition: function () {
@@ -839,6 +948,15 @@ order: 31
839948
)
840949
})
841950
return vuersWithDistances
951+
},
952+
konamiKeydown: function (event) {
953+
if (this.titleVisible) {
954+
return
955+
}
956+
957+
if (event.keyCode !== this.konami.code[this.konami.position++]) {
958+
this.konami.position = 0
959+
}
842960
}
843961
}
844962
})

0 commit comments

Comments
 (0)