diff --git a/src/v2/api/index.md b/src/v2/api/index.md index c5b27870ee..d9bf685a90 100644 --- a/src/v2/api/index.md +++ b/src/v2/api/index.md @@ -4,7 +4,7 @@ type: api (En) ## Configuration globale -

**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**

`Vue.config` est un objet contenant les configurations globales de Vue. Vous pouvez modifier les propriétés listées ci-dessous avant de mettre en place votre application:

+

**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**

`Vue.config` est un objet contenant les configurations globales de Vue. Vous pouvez modifier les propriétés listées ci-dessous avant de mettre en place votre application :

### silent @@ -29,22 +29,22 @@ type: api (En) - **Utilisation :** ``` js - Vue.config.optionMergeStrategies._my_option = function (parent, child, vm) { - return child + 1 + Vue.config.optionMergeStrategies._mon_option = function (parent, enfant, vm) { + return enfant + 1 } - const Profile = Vue.extend({ - _my_option: 1 + const Profil = Vue.extend({ + _mon_option: 1 }) - // Profile.options._my_option = 2 + // Profil.options._mon_option = 2 ``` Définit des stratégies personnalisées de fusion pour les options. La stratégie de fusion reçoit en arguments la valeur de cette option définie dans le parent et les instances enfants en tant que premier et second argument, respectivement. L'instance de Vue est passée en troisième argument. -- **Voir aussi**: [Stratégies personnalisées de fusion d'options](../guide/mixins.html#Custom-Option-Merge-Strategies) +- **Voir aussi** : [Stratégies personnalisées de fusion d'options](../guide/mixins.html#Custom-Option-Merge-Strategies) ### devtools @@ -72,14 +72,15 @@ type: api (En) ``` js Vue.config.errorHandler = function (err, vm, info) { // gérer le cas d'erreur - // `info` is a Vue-specific error info, e.g. which lifecycle hook - // the error was found in. Only available in 2.2.0+ + // `info` est une information spécifique à Vue sur l'erreur, + // par exemple dans quel hook du cycle de vie l'erreur a été trouvée + // Disponible uniquement en 2.2.0+ } ``` 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. - > In 2.2.0, this hook also captures errors in component lifecycle hooks. Also, when this hook is `undefined`, captured errors will be logged with `console.error` instead of crashing the app. + > 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. > [Sentry](https://sentry.io), un service de traçage d'erreur, fournit une [intégration officielle](https://sentry.io/for/vue/) utilisant cette option. @@ -93,11 +94,11 @@ type: api (En) ``` js Vue.config.ignoredElements = [ - 'my-custom-web-component', 'another-web-component' + 'mon-web-component', 'un-autre-web-component' ] ``` - Indique à Vue d'ignorer les éléments personnalisés définis en dehors de Vue (ex: en utilisant les API Web Components). Autrement, un message d'avertissement `Unknown custom element` sera affiché, supposant que vous avez oublié d'inscrire un composant global ou fait une faute de frappe dans son nom. + Indique à Vue d'ignorer les éléments personnalisés définis en dehors de Vue (ex. : en utilisant les API Web Components). Autrement, un message d'avertissement `Unknown custom element` sera affiché, supposant que vous avez oublié d'inscrire un composant global ou fait une faute de frappe dans son nom. ### keyCodes @@ -127,27 +128,27 @@ type: api (En) ### performance -> New in 2.2.0 +> Nouveau en 2.2.0 -- **Type:** `boolean` +- **Type :** `boolean` -- **Default:** `false (from 2.2.3)` +- **Par défaut :** `false` (à partir de la 2.2.3) -- **Usage**: +- **Utilisation :** - Set this to `true` to enable component init, compile, render and patch performance tracing in the browser devtool timeline. Only works in development mode and in browsers that support the [performance.mark](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark) API. + 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). ### productionTip -> New in 2.2.0 +> Nouveau en 2.2.0 -- **Type:** `boolean` +- **Type :** `boolean` -- **Default:** `true` +- **Par défaut :** `true` -- **Usage**: +- **Utilisation :** - Set this to `false` to prevent the production tip on Vue startup. + Assignez ceci à `false` pour ne plus avoir la notification de production au démarrage de Vue. ## API globale @@ -163,23 +164,23 @@ type: api (En) Le cas spécial à noter ici est l'option `data` - il doit s'agir d'une fonction quand utilisé avec `Vue.extend()`. ``` html -
+
``` ``` js // crée un constructeur réutilisable - var Profile = Vue.extend({ - template: '

{{firstName}} {{lastName}} aka {{alias}}

', + var Profil = Vue.extend({ + template: '

{{prenom}} {{nom}} alias {{alias}}

', data: function () { return { - firstName: 'Walter', - lastName: 'White', + prenom: 'Walter', + nom: 'White', alias: 'Heisenberg' } } }) - // crée une instance de Profile et la monte sur un élément - new Profile().$mount('#mount-point') + // crée une instance de Profil et la monte sur un élément + new Profil().$mount('#point-de-montage') ``` Cela donnera comme résultat : @@ -190,11 +191,11 @@ type: api (En) - **Voir aussi :** [Composants](../guide/components.html) -

Vue.nextTick( [callback, context] )

+

Vue.nextTick( [callback, contexte] )

- **Arguments :** - `{Function} [callback]` - - `{Object} [context]` + - `{Object} [contexte]` - **Utilisation :** @@ -202,7 +203,7 @@ type: api (En) ``` js // modification de données - vm.msg = 'Hello' + vm.msg = 'Salut' // le DOM n'a pas encore été mis à jour Vue.nextTick(function () { // le DOM est à jour @@ -213,44 +214,44 @@ type: api (En) - **Voir aussi :** [File de mise à jour asynchrone](../guide/reactivity.html#Async-Update-Queue) -

Vue.set( target, key, value )

+

Vue.set( cible, clé, valeur )

- **Arguments :** - - `{Object | Array} target` - - `{string | number} key` - - `{any} value` + - `{Object | Array} cible` + - `{string | number} clé` + - `{any} valeur` - **Retourne:** la valeur assignée. - **Utilisation :** - Assigne une propriété à un objet. Si l'objet est réactif, cette méthode s'assure que la propriété est créée en tant que propriété réactive et 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 l'ajout de nouvelles propriétés. + Assigne une propriété à un objet cible. Si l'objet est réactif, cette méthode s'assure que la propriété est créée en tant que propriété réactive et 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 l'ajout de nouvelles propriétés. **Notez que l'objet ne peut pas être une instance de Vue, ou l'objet de données à la racine d'une instance de Vue.** - **Voir aussi :** [Réactivité en détail](../guide/reactivity.html) -

Vue.delete( target, key )

+

Vue.delete( cible, clé )

- **Arguments :** - - `{Object | Array} target` - - `{string | number} key` + - `{Object | Array} cible` + - `{string | number} clé` - **Utilisation :** - Supprime une propriété d'un objet. 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. + 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. - > Also works with on Array + index in 2.2.0+. + > Fonctionne aussi avec un `Array` + index en 2.2.0+.

L'objet cible ne peut pas être une instance de Vue, ou l'objet de données à la racine d'une instance de Vue.

- **Voir aussi :** [Réactivité en détail](../guide/reactivity.html) -

Vue.directive( id, [definition] )

+

Vue.directive( id, [définition] )

- **Arguments :** - `{string} id` - - `{Function | Object} [definition]` + - `{Function | Object} [définition]` - **Utilisation :** @@ -258,7 +259,7 @@ type: api (En) ``` js // inscrit une directive - Vue.directive('my-directive', { + Vue.directive('ma-directive', { bind: function () {}, inserted: function () {}, update: function () {}, @@ -267,21 +268,21 @@ type: api (En) }) // inscrit une directive comme simple fonction - Vue.directive('my-directive', function () { + Vue.directive('ma-directive', function () { // cette fonction sera appelée comme `bind` et `update` ci-dessus }) // accesseur, retourne la définition de la directive si inscrite - var myDirective = Vue.directive('my-directive') + var maDirective = Vue.directive('ma-directive') ``` - **Voir aussi :** [Directives personnalisées](../guide/custom-directive.html) -

Vue.filter( id, [definition] )

+

Vue.filter( id, [définition] )

- **Arguments :** - `{string} id` - - `{Function} [definition]` + - `{Function} [définition]` - **Utilisation :** @@ -289,19 +290,19 @@ type: api (En) ``` js // inscrit un filtre - Vue.filter('my-filter', function (value) { + Vue.filter('mon-filtre', function (value) { // retourne la valeur modifiée }) // accesseur, retourne le filtre si inscrit - var myFilter = Vue.filter('my-filter') + var monFiltre = Vue.filter('mon-filtre') ``` -

Vue.component( id, [definition] )

+

Vue.component( id, [définition] )

- **Arguments :** - `{string} id` - - `{Function | Object} [definition]` + - `{Function | Object} [définition]` - **Utilisation :** @@ -309,13 +310,13 @@ type: api (En) ``` js // inscrit un constructeur étendu - Vue.component('my-component', Vue.extend({ /* ... */ })) + Vue.component('mon-composant', Vue.extend({ /* ... */ })) // inscrit un composant avec un objet options (appelle automatiquement Vue.extend) - Vue.component('my-component', { /* ... */ }) + Vue.component('mon-composant', { /* ... */ }) // récupère un composant inscrit (retourne toujours le constructeur) - var MyComponent = Vue.component('my-component') + var MonComposant = Vue.component('mon-composant') ``` - **Voir aussi :** [Composants](../guide/components.html). @@ -358,7 +359,7 @@ type: api (En) new Vue({ data: { - msg: 'hello' + msg: 'salut' }, render: res.render, staticRenderFns: res.staticRenderFns @@ -369,9 +370,9 @@ type: api (En)

Vue.version

-- **Details**: Provides the installed version of Vue as a string. This is especially useful for community plugins and components, where you might use different strategies for different versions. +- **Détails :** Donne la version de Vue installée sous forme de `String`. C'est particulièrement utile pour les plugins et les composants de la communauté, où vous pouvez être amenés à utiliser différentes stratégies pour différentes versions. -- **Usage**: +- **Utilisation :** ```js var version = Number(Vue.version.split('.')[0]) @@ -381,7 +382,7 @@ if (version === 2) { } else if (version === 1) { // Vue v1.x.x } else { - // Unsupported versions of Vue + // Versions non supportées de Vue } ``` @@ -401,7 +402,7 @@ if (version === 2) { Après que l'instance ait été créée, l'objet de données initial peut être accédé via `vm.$data`. L'instance de Vue servira également de proxy pour toutes les propriétés trouvées dans l'objet de données, donc `vm.a` sera l'équivalent de `vm.$data.a`. - Les propriétés commençant par `_` ou `$` ne seront **pas** proxyfiées par l'instance de Vue car elles pourraient entrer en conflit avec certaines propriétés internes et méthodes d'API de Vue. Vous devrez y accéder via `vm.$data._property`. + Les propriétés commençant par `_` ou `$` ne seront **pas** proxyfiées par l'instance de Vue car elles pourraient entrer en conflit avec certaines propriétés internes et méthodes d'API de Vue. Vous devrez y accéder via `vm.$data._propriete`. Lors de la définition d'un **composant**, la propriété `data` doit être déclarée en tant que fonction retournant l'objet de données initial, car il y aura plusieurs instances créées utilisant la même définition. Si nous utilisons un objet classique pour `data`, le même objet sera **partagé par référence** à toutes les instances créées! En fournissant une fonction `data` , chaque fois qu'une nouvelle instance est créée, nous l'appelons simplement afin de récupérer une copie fraîche des données initiales. @@ -420,14 +421,14 @@ if (version === 2) { vm.$data === data // -> true // data doit être une fonction lorsqu'utilisée dans Vue.extend() - var Component = Vue.extend({ + var Composant = Vue.extend({ data: function () { return { a: 1 } } }) ``` -

Notez que __vous ne devriez pas utiliser de fonctions fléchées pour la propriété `data`__ (exemple: `data: () => { return { a: this.myProp }}`). La raison est que les fonctions fléchées sont liées au contexte parent, donc `this` ne correspondra pas à l'instance de Vue et `this.myProp` vaudra `undefined`.

+

Notez que __vous ne devriez pas utiliser de fonctions fléchées pour la propriété `data`__ (exemple: `data: () => { return { a: this.maPropriete }}`). La raison est que les fonctions fléchées sont liées au contexte parent, donc `this` ne correspondra pas à l'instance de Vue et `this.maPropriete` vaudra `undefined`.

- **Voir aussi :** [Réactivité en détail](../guide/reactivity.html). @@ -443,22 +444,22 @@ if (version === 2) { ``` js // syntaxe simple - Vue.component('props-demo-simple', { - props: ['size', 'myMessage'] + Vue.component('props-démo-simple', { + props: ['taille', 'monMessage'] }) // syntaxe avancée avec validation - Vue.component('props-demo-advanced', { + Vue.component('props-démo-avancée', { props: { // juste une vérification de type - height: Number, + hauteur: Number, // vérification du type ainsi que d'autres validations - age: { + âge: { type: Number, default: 0, required: true, - validator: function (value) { - return value >= 0 + validator: function (valeur) { + return valeur >= 0 } } } @@ -477,7 +478,7 @@ if (version === 2) { Passe des valeurs d'attribut à l'instance durant sa création. Cette propriété a pour but principal de faciliter les tests unitaires. -- **Example:** +- **Exemple :** ``` js var Comp = Vue.extend({ @@ -487,7 +488,7 @@ if (version === 2) { var vm = new Comp({ propsData: { - msg: 'hello' + msg: 'salut' } }) ``` @@ -579,22 +580,22 @@ if (version === 2) { c: 3 }, watch: { - a: function (val, oldVal) { - console.log('new: %s, old: %s', val, oldVal) + a: function (valeur, ancienneValeur) { + console.log('nouveau: %s, ancien: %s', valeur, ancienneValeur) }, // nom d'une méthode - b: 'someMethod', + b: 'uneMéthode', // observateur profond (deep watcher) c: { - handler: function (val, oldVal) { /* ... */ }, + handler: function (valeur, ancienneValeur) { /* ... */ }, deep: true } } }) - vm.a = 2 // -> new: 2, old: 1 + vm.a = 2 // -> nouveau: 2, ancien: 1 ``` -

Notez que __vous ne devriez pas utiliser de fonctions fléchées pour définir un observateur__ (exemple: `searchQuery: newValue => this.updateAutocomplete(newValue)`). La raison est que les fonctions fléchées sont liées au contexte parent, donc `this` ne correspondra pas à l'instance de Vue et `this.updateAutocomplete` vaudra `undefined`.

+

Notez que __vous ne devriez pas utiliser de fonctions fléchées pour définir un observateur__ (exemple: `saisie: nouvelleValeur => this.actualiserSuggestions(nouvelleValeur)`). La raison est que les fonctions fléchées sont liées au contexte parent, donc `this` ne correspondra pas à l'instance de Vue et `this.actualiserSuggestions` vaudra `undefined`.

- **Voir aussi :** [Méthodes d'instance - vm.$watch](#vm-watch) @@ -616,11 +617,11 @@ if (version === 2) {

L'élément fourni sert seulement de point de montage. Contrairement à Vue 1.x, l'élément monté sera remplacé par le DOM généré par Vue dans tous les cas. C'est pourquoi il n'est pas recommandé de monter l'instance racine sur `` ou ``.

-

If neither `render` function nor `template` option is present, the in-DOM HTML of the mounting DOM element will be extracted as the template. In this case, Runtime + Compiler build of Vue should be used.

+

Si ni la fonction `render` ni l'option `template` ne sont présentes, le code HTML de l'élément du DOM sur lequel le composant est monté sera extrait et défini comme template de ce composant. Dans ce cas, la version "Runtime + Compilateur" de Vue doit être utilisée.

- **Voir aussi :** - [Diagramme du Cycle de Vie](../guide/instance.html#Lifecycle-Diagram) - - [Runtime + Compiler vs. Runtime-only](../guide/installation.html#Runtime-Compiler-vs-Runtime-only) + - [Runtime + Compilateur vs. Runtime uniquement](../guide/installation.html#Runtime-Compiler-vs-Runtime-only) ### template @@ -628,17 +629,17 @@ if (version === 2) { - **Détails :** - A string template to be used as the markup for the Vue instance. The template will **replace** the mounted element. Any existing markup inside the mounted element will be ignored, unless content distribution slots are present in the template. + Un template sous forme de chaîne de caractères qui sera utilisé comme balisage HTML pour l'instance de Vue. Le template viendra **remplacer** l'élément monté. Tout code HTML existant à l'intérieur de l'élément monté sera ignoré, à moins que des emplacements de distribution de contenu (slots) soient présents dans le template. - If the string starts with `#` it will be used as a querySelector and use the selected element's innerHTML as the template string. This allows the use of the common `