Skip to content

Commit 0762ef8

Browse files
Merge branch 'master' into api/index.md
2 parents f6749c3 + a5fdc82 commit 0762ef8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+4116
-2285
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ all: update deploy
22

33
deploy:
44
rm -rf public db.json
5+
node install.js
56
hexo generate
67
hexo deploy
78

_config.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,24 @@ markdown:
9999
offline:
100100
maximumFileSizeToCacheInBytes: 10485760
101101
staticFileGlobs:
102-
- public/**/*.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,json,xml}
102+
- public/**/*.{js,html,css,png,jpg,jpeg,gif,svg,eot,ttf,woff,woff2,json,xml}
103103
stripPrefix: public
104104
verbose: true
105105
runtimeCaching:
106+
# Ad Sources - should be networkFirst
106107
- urlPattern: /*
107-
handler: cacheFirst
108+
handler: networkFirst
108109
options:
109110
origin: sendgrid.sp1.convertro.com
110111
- urlPattern: /*
111-
handler: cacheFirst
112+
handler: networkFirst
112113
options:
113114
origin: ad.doubleclick.net
115+
- urlPattern: /*
116+
handler: networkFirst
117+
options:
118+
origin: srv.carbonads.net
119+
# CDNs - should be cacheFirst, since they should be used specific versions so should not change
114120
- urlPattern: /*
115121
handler: cacheFirst
116122
options:
@@ -123,6 +129,14 @@ offline:
123129
handler: cacheFirst
124130
options:
125131
origin: fonts.gstatic.com
132+
- urlPattern: /*
133+
handler: cacheFirst
134+
options:
135+
origin: cdnjs.cloudflare.com
136+
- urlPattern: /*
137+
handler: cacheFirst
138+
options:
139+
origin: maxcdn.bootstrapcdn.com
126140

127141
# Deployment
128142
## Docs: http://zespia.tw/hexo/docs/deployment.html

install.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
var fs = require('fs')
2+
var execSync = require('child_process').execSync
3+
var deps = require('./package.json').dependencies
4+
var depFolders = Object.keys(deps)
5+
6+
for (var depFolder in deps) {
7+
if (!fs.existsSync('./node_modules/' + depFolder)) {
8+
console.log('Dependency "' + depFolder + '" is NOT installed - installing now...')
9+
execSync('npm install')
10+
process.exit(0)
11+
}
12+
}
13+
14+
console.log('All dependencies are already installed.')

src/images/mvvm.png

2.1 KB
Loading

src/support-vuejs/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ However, the amount of effort needed to maintain and develop new features for th
4242
<img src="/images/famebroker.png" style="width:135px">
4343
</a><a href="https://component.io" target="_blank" style="width:140px">
4444
<img src="/images/component_io.png" style="width:140px">
45+
</a><a href="https://cn.100offer.com/how-it-works/?utm_source=vuejs&utm_medium=display&utm_campaign=vuejs_20170704&utm_content=find_new_job&campaign_code=vuejs" target="_blank" style="width:110px;">
46+
<img src="/images/100offer.png" style="width:110px">
4547
</a>
4648
</p>
4749

src/v2/api/index.md

Lines changed: 104 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,30 @@ type: api
8080

8181
Définit un gestionnaire pour les erreurs non interceptées pendant le rendu d'un composant et les appels aux observateurs. Ce gestionnaire sera appelé avec comme arguments l'erreur et l'instance de Vue associée.
8282

83-
> En 2.2.0, ce hook capture également les erreurs dans les hooks du cycle de vie des composants. De plus, quand ce hook est `undefined`, les erreurs capturées seront loguées avec `console.error` plutôt qu'avoir un crash de l'application.
83+
> En 2.2.0+, ce hook capture également les erreurs dans les hooks du cycle de vie des composants. De plus, quand ce hook est `undefined`, les erreurs capturées seront loguées avec `console.error` plutôt qu'avoir un crash de l'application.
84+
85+
> In 2.4.0+ this hook also captures errors thrown inside Vue custom event handlers.
8486
8587
> [Sentry](https://sentry.io), un service de traçage d'erreur, fournit une [intégration officielle](https://sentry.io/for/vue/) utilisant cette option.
8688
89+
### warnHandler
90+
91+
> New in 2.4.0+
92+
93+
- **Type:** `Function`
94+
95+
- **Default:** `undefined`
96+
97+
- **Usage:**
98+
99+
``` js
100+
Vue.config.warnHandler = function (msg, vm, trace) {
101+
// trace is the component hierarchy trace
102+
}
103+
```
104+
105+
Assign a custom handler for runtime Vue warnings. Note this only works during development and is ignored in production.
106+
87107
### ignoredElements
88108

89109
- **Type :** `Array<string>`
@@ -128,19 +148,19 @@ type: api
128148

129149
### performance
130150

131-
> Nouveau en 2.2.0
151+
> Nouveau dans la 2.2.0+
132152
133153
- **Type :** `boolean`
134154

135-
- **Par défaut :** `false` (à partir de la 2.2.3)
155+
- **Par défaut :** `false` (à partir de la 2.2.3+)
136156

137157
- **Utilisation :**
138158

139159
Assignez ceci à `true` pour activer le suivi des performances pour l'initialisation, la compilation, le rendu et la mise à jour des composants dans la timeline des outils développeur des navigateurs. Fonctionne uniquement en mode développement et dans les navigateurs supportant l'API [performance.mark](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark).
140160

141161
### productionTip
142162

143-
> Nouveau en 2.2.0
163+
> Nouveau dans la 2.2.0+
144164
145165
- **Type :** `boolean`
146166

@@ -210,7 +230,7 @@ type: api
210230
})
211231
```
212232

213-
> Nouveauté de la 2.1.0: retourne une Promise si aucune fonction de callback n'est fournie et si Promise est supporté par l'environnement d'exécution.
233+
> Nouveauté de la 2.1.0+ : retourne une Promise si aucune fonction de callback n'est fournie et si Promise est supporté par l'environnement d'exécution.
214234
215235
- **Voir aussi :** [File de mise à jour asynchrone](../guide/reactivity.html#Async-Update-Queue)
216236

@@ -237,12 +257,12 @@ type: api
237257
- `{Object | Array} cible`
238258
- `{string | number} clé`
239259

260+
> Fonctionne uniquement avec Array + index dans la 2.2.0+.
261+
240262
- **Utilisation :**
241263

242264
Supprime une propriété d'un objet cible. Si l'objet est réactif, cette méthode s'assure que la suppression déclenche les mises à jour de la vue. Ceci est principalement utilisé pour passer outre la limitation de Vue qui est de ne pas pouvoir détecter automatiquement la suppression de propriétés, mais vous devriez rarement en avoir besoin.
243265

244-
> Fonctionne aussi avec un `Array` + index en 2.2.0+.
245-
246266
<p class="tip">L'objet cible ne peut pas être une instance de Vue, ou l'objet de données à la racine d'une instance de Vue.</p>
247267

248268
- **Voir aussi :** [Réactivité en détail](../guide/reactivity.html)
@@ -658,7 +678,7 @@ if (version === 2) {
658678

659679
### renderError
660680

661-
> Nouveau en 2.2.0
681+
> Nouveau en 2.2.0+
662682
663683
- **Type :** `(createElement: () => VNode, error: Error) => VNode`
664684

@@ -685,9 +705,7 @@ if (version === 2) {
685705
- [Fonctions de Rendu](../guide/render-function)
686706

687707

688-
## Options / Hooks du cycle de vie
689-
690-
Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattaché à l'instance, afin que vous puissiez accéder aux données, propriétés calculées et méthodes. Cela signifie que __vous ne devriez pas utiliser une fonction fléchée pour définir une méthode du cycle de vie__ (p. ex. `created: () => this.fetchTodos()`). La raison est que les fonctions fléchées utilisent le contexte parent, donc `this` ne sera pas l'instance de Vue comme vous pouvez vous y attendre et `this.fetchTodos` sera `undefined`.
708+
<p class="tip">Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattaché à l'instance, afin que vous puissiez accéder aux données, propriétés calculées et méthodes. Cela signifie que __vous ne devriez pas utiliser une fonction fléchée pour définir une méthode du cycle de vie__ (p. ex. `created: () => this.fetchTodos()`). La raison est que les fonctions fléchées utilisent le contexte parent, donc `this` ne sera pas l'instance de Vue comme vous pouvez vous y attendre et `this.fetchTodos` sera `undefined`.</p>
691709

692710
### beforeCreate
693711

@@ -910,7 +928,7 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
910928
911929
### provide / inject
912930
913-
> Nouveau en 2.2.0
931+
> Nouveau dans la 2.2.0+
914932
915933
- **Type :**
916934
- **provide :** `Object | () => Object`
@@ -965,7 +983,7 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
965983
}
966984
```
967985
968-
> Les deux prochains exemples fonctionnent seulement avec Vue > 2.2.1. En dessous de cette version, les valeurs injectées étaient résolues après l'initialisation des `props` et de `data`.
986+
> Les deux prochains exemples fonctionnent seulement avec Vue 2.2.1+. En dessous de cette version, les valeurs injectées étaient résolues après l'initialisation des `props` et de `data`.
969987
970988
En utilisant une valeur injectée comme valeur par défaut pour une prop :
971989
```js
@@ -1012,7 +1030,9 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
10121030
10131031
- **Type :** `Array<string>`
10141032
1015-
- **default:** `{% raw %}["{{", "}}"]{% endraw %}`
1033+
- **Default:** `{% raw %}["{{", "}}"]{% endraw %}`
1034+
1035+
- **Restrictions :** Cette option n'est disponible que dans la version complète du build, avec la compilation dans le navigateur.
10161036
10171037
- **Détails :**
10181038
@@ -1083,6 +1103,34 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
10831103
</ma-checkbox>
10841104
```
10851105
1106+
### inheritAttrs
1107+
1108+
> New in 2.4.0+
1109+
1110+
- **Type:** `boolean`
1111+
1112+
- **Default:** `true`
1113+
1114+
- **Details:**
1115+
1116+
By default, parent scope attribute bindings that are not recognized as props will "fallthrough" and be applied to the root element of the child component as normal HTML attributes. When authoring a component that wraps a target element or another component, this may not always be the desired behavior. By setting `inheritAttrs` to `false`, this default behavior can be disabled. The attributes are available via the `$attrs` instance property (also new in 2.4) and can be explicitly bound to a non-root element using `v-bind`.
1117+
1118+
Note: this option does **not** affect `class` and `style` bindings.
1119+
1120+
### comments
1121+
1122+
> New in 2.4.0+
1123+
1124+
- **Type:** `boolean`
1125+
1126+
- **Default:** `false`
1127+
1128+
- **Restrictions:** This option is only available in the full build, with in-browser compilation.
1129+
1130+
- **Details:**
1131+
1132+
When set to `true`, will preserve and render HTML comments found in templates. The default behavior is discarding them.
1133+
10861134
## Propriétés d'instance
10871135
10881136
### vm.$data
@@ -1097,7 +1145,7 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
10971145
10981146
### vm.$props
10991147
1100-
> Nouveau en 2.2.0
1148+
> Nouveau dans la 2.2.0+
11011149
11021150
- **Type :** `Object`
11031151
@@ -1216,7 +1264,7 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
12161264
12171265
### vm.$scopedSlots
12181266
1219-
> Nouveauté en 2.1.0
1267+
> Nouveauté en 2.1.0+
12201268
12211269
- **Type :** `{ [name: string]: props => VNode | Array<VNode> }`
12221270
@@ -1259,13 +1307,33 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
12591307
12601308
- **Voir aussi :** [Rendu côté serveur](../guide/ssr.html)
12611309
1310+
### vm.$attrs
1311+
1312+
- **Type:** `{ [key: string]: string }`
1313+
1314+
- **Read only**
1315+
1316+
- **Details:**
1317+
1318+
Contains parent-scope attribute bindings (except for `class` and `style`) that are not recognized (and extracted) as props. When a component doesn't have any declared props, this essentially contains all parent-scope bindings (except for `class` and `style`), and can be passed down to an inner component via `v-bind="$attrs"` - useful when creating higher-order components.
1319+
1320+
### vm.$listeners
1321+
1322+
- **Type:** `{ [key: string]: Function | Array<Function> }`
1323+
1324+
- **Read only**
1325+
1326+
- **Details:**
1327+
1328+
Contains parent-scope `v-on` event listeners (without `.native` modifiers). This can be passed down to an inner component via `v-on="$listeners"` - useful when creating higher-order components.
1329+
12621330
## Méthodes et données d'instance
12631331
12641332
<h3 id="vm-watch">vm.$watch( expOuFn, callback, [options] )</h3>
12651333
12661334
- **Arguments :**
1267-
- `{string | Function} expOuFn`
1268-
- `{Function} callback`
1335+
- `{string | Function} expOrFn`
1336+
- `{Function | Object} callback`
12691337
- `{Object} [options]`
12701338
- `{boolean} deep`
12711339
- `{boolean} immediate`
@@ -1466,7 +1534,7 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
14661534
14671535
Reporte l'éxécution de la fonction `callback` au prochain cycle de mise à jour du DOM. Utilisez ceci immédiatement après avoir changé des données pour attendre la mise à jour du DOM. C'est la même chose que la fonction globale `Vue.nextTick`, sauf que le contexte `this` dans la fonction `callback` est automatiquement lié à l'instance appelant cette méthode.
14681536
1469-
> Nouveau en 2.1.0: retourne une Promise si aucun callback n'est fourni et si les Promise sont supportés dans l'environnement d'exécution.
1537+
> Nouveau en 2.1.0+ : retourne une Promise si aucun callback n'est fourni et si les Promise sont supportés dans l'environnement d'exécution.
14701538
14711539
- **Exemple :**
14721540
@@ -1661,9 +1729,9 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
16611729
16621730
- **Notation abrégée :** `@`
16631731
1664-
- **Attend comme valeur :** `Function | Inline Statement`
1732+
- **Attend comme valeur :** `Function | Inline Statement | Object`
16651733
1666-
- **Argument de la fonction callback :** `event (required)`
1734+
- **Argument de la fonction callback :** `event`
16671735
16681736
- **Modificateurs :**
16691737
- `.stop` - appelle `event.stopPropagation()`.
@@ -1682,6 +1750,8 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
16821750
16831751
Attache un écouteur d'événement à l'élément. Le type d'événement écouté est indiqué comme argument. L'expression peut être soit un nom de méthode, soit une ligne d'instruction, ou simplement omise si des modificateurs sont présents.
16841752
1753+
À partie de la 2.4.0, `v-on` supporte aussi la liaison à un objet de paires événement/écouteur sans argument. Notez que lorsque vous utilisez la syntaxe objet, elle ne supporte aucun modificateur.
1754+
16851755
Quand utilisé sur un élément HTML standard, il écoute uniquement les **événements natifs du DOM**. Quand utilisé sur un élement personnalisé de composant, il écoute également les **événements personnalisés** émis depuis ce composant enfant.
16861756
16871757
Lorsque des événements natifs du DOM sont écoutés, la méthode reçoit l'événement natif comme unique argument. Si la valeur de la directive est une ligne d'instruction, l'instruction a accès à la propriété spéciale `$event` : `v-on:click="handle('ok', $event)"`.
@@ -1692,6 +1762,9 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
16921762
<!-- nom de méthode -->
16931763
<button v-on:click="faireCeci"></button>
16941764

1765+
<!-- syntaxe objet (2.4.0+) -->
1766+
<button v-on="{ mousedown: faireCeci, mouseup: faireCela }"></button>
1767+
16951768
<!-- ligne d'instruction -->
16961769
<button v-on:click="faireCela('hello', $event)"></button>
16971770
@@ -1745,7 +1818,7 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
17451818
- **Argument:** `attrOuProp (optionnel)`
17461819

17471820
- **Modificateurs :**
1748-
- `.prop` - Associe une propriété du DOM plutôt qu'un attribut. ([quelle difference?](http://stackoverflow.com/questions/6003819/properties-and-attributes-in-html#answer-6004028))
1821+
- `.prop` - Associe une propriété du DOM plutôt qu'un attribut. ([quelle difference?](http://stackoverflow.com/questions/6003819/properties-and-attributes-in-html#answer-6004028)). Si le tag est un composant, alors `prop` assignera la propriété sur l'élément `$el` du composant.
17491822
- `.camel` - (2.1.0+) transforme un nom d'attribut en kebab-case en sa version camelCase.
17501823
- `.sync` - (2.3.0+) du sucre syntaxique pour ajouter un un gestionnaire `v-on` qui met à jour la valeur liée.
17511824
@@ -2142,12 +2215,14 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
21422215
</transition>
21432216
```
21442217
2218+
Notez que `<keep-alive>` est conçu pour le cas où il a un seul composant enfant direct qui est permuté. Il ne fonctionne pas si vous avez `v-for` à l'intérieur. Quand il y a de multiples enfants condtionnels, comme ci-dessus, `<keep-alive>` requiert qu'un seul enfant soit visible à la fois.
2219+
21452220
- **`include` et `exclude`**
21462221
21472222
> Nouveauté de la 2.1.0
21482223
2149-
Les props `include` et `exclude` définissent les conditions de mise en cache des composants. Les deux props peuvent être soit une liste délimitée par des virgules, soit une expression régulière :
2150-
2224+
Les props `include` et `exclude` définissent les conditions de mise en cache des composants. Les deux props peuvent être soit une liste délimitée par des virgules, soit une expression régulière, soit une Array :
2225+
21512226
``` html
21522227
<!-- liste délimitée par des virgules -->
21532228
<keep-alive include="a,b">
@@ -2158,6 +2233,11 @@ Tous les hooks du cycle de vie ont automatiquement leur contexte `this` rattach
21582233
<keep-alive :include="/a|b/">
21592234
<component :is="view"></component>
21602235
</keep-alive>
2236+
2237+
<!-- Array (utiliser v-bind) -->
2238+
<keep-alive :include="['a', 'b']">
2239+
<component :is="view"></component>
2240+
</keep-alive>
21612241
```
21622242
21632243
La correspondance est d'abord faite avec l'option `name` propre au composant, puis avec son nom d'inscription locale (la clé dans l'option `components` du parent) si l'option `name` n'est pas disponible. Les composants anonymes ne peuvent pas être mis en correspondance.

src/v2/cookbook/adding-instance-properties.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Alors quelles sont les alternatives ?
151151

152152
### Quand ne pas utiliser un système de modules
153153

154-
Dans les applications __sans__ systèmes de modules (ex. via Webpack ou Browserify), il y a un *pattern* souvent utilisé dans _n'importe quel_ *frontend* amélioré en JavaScript : un objet global `App`.
154+
Dans les applications __sans__ systèmes de modules (ex. via webpack ou Browserify), il y a un *pattern* souvent utilisé dans _n'importe quel_ *frontend* amélioré en JavaScript : un objet global `App`.
155155

156156
Si ce que vous voulez ajouter n'a rien à voir avec Vue spécifiquement, cela peut être une bonne alternative à étudier. Voici un exemple :
157157

src/v2/cookbook/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ En quoi le *cookbook* est-il différent du guide ? Pourquoi est-ce nécessaire ?
1818

1919
- __Enseigner JavaScript__ : Dans le guide, nous supposons que le lecteur est au moins moyennement familier avec la norme ES5 de JavaScript. Par exemple, nous n'expliquerons pas comment `Array.prototype.filter` fonctionne au sein d'une propriété calculée qui filtre une liste. Dans le *cookbook* en revanche, des fonctionnalités essentielles de JavaScript (y-compris ES6/2015+) peuvent être explorées et expliquées pour montrer comment elles nous aident à construire de meilleures applications Vue.
2020

21-
- __Explorer l'écosystème__ : Pour les fonctionnalités avancées, nous supposons que le lecteur a quelques connaissances sur l'écosystème. Par exemple, si vous voulez utiliser des composants monofichiers avec Webpack, nous n'expliquerons pas comment configurer les parties qui ne concernent pas Vue dans la configuration de Webpack. Dans le *cookbook*, nous avons l'espace suffisant pour explorer plus en profondeur ces bibliothèques de l'écosystème - au moins dans la mesure où cela est universellement utile aux développeurs Vue.
21+
- __Explorer l'écosystème__ : Pour les fonctionnalités avancées, nous supposons que le lecteur a quelques connaissances sur l'écosystème. Par exemple, si vous voulez utiliser des composants monofichiers avec webpack, nous n'expliquerons pas comment configurer les parties qui ne concernent pas Vue dans la configuration de webpack. Dans le *cookbook*, nous avons l'espace suffisant pour explorer plus en profondeur ces bibliothèques de l'écosystème - au moins dans la mesure où cela est universellement utile aux développeurs Vue.
2222

2323
## Lignes directrices pour les recettes
2424

0 commit comments

Comments
 (0)