forked from vuejs/v2.vuejs.org
-
Notifications
You must be signed in to change notification settings - Fork 103
Update components.md #136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Update components.md #136
Changes from 2 commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,7 +36,7 @@ Vue.component('my-component', { | |
}) | ||
``` | ||
|
||
<p class="tip">Notez que Vue ne vous force pas à respecter les [règles du W3C](https://www.w3.org/TR/custom-elements/#concepts) en ce qui concerne les noms de balises personnalisées (tout en minuscules, obligation de contenir un trait d'union) bien que suivre cette convention est considéré comme une bonne pratique.</p> | ||
<p class="tip">Notez que Vue ne vous force pas à respecter les [règles du W3C](https://www.w3.org/TR/custom-elements/#concepts) en ce qui concerne les noms de balises personnalisées (tout en minuscules, obligation de contenir un trait d'union) bien que suivre cette convention soit considéré comme une bonne pratique.</p> | ||
|
||
Une fois inscrit, un composant peut être utilisé dans le template d'une instance en tant qu'élément personnalisé, `<my-component></my-component>`. Assurez-vous que le composant soit inscrit **avant** l'instanciation de l'instance racine de Vue. Voici un exemple complet : | ||
|
||
|
@@ -182,15 +182,15 @@ Puisque nos trois instances de composant partagent le même objet `data`, l'incr | |
|
||
### `data` Must Be a Function | ||
|
||
When we defined the `<button-counter>` component, you may have noticed that `data` wasn't directly provided an object, like this: | ||
Lorsque nous avons défini le composant `<button-counter>`, vous avez peut-être remarqué que `data` ne remplissait pas directement un objet, comme ceci : | ||
|
||
```js | ||
data: { | ||
count: 0 | ||
} | ||
``` | ||
|
||
Instead, **a component's `data` option must be a function**, so that each instance can maintain an independent copy of the returned data object: | ||
À la place, **un attribut du composant `data` doit être une fonction**, afin que chaque instance puisse conserver une copie indépendante de l'objet retourné : | ||
|
||
```js | ||
data: function () { | ||
|
@@ -224,13 +224,13 @@ new Vue({ el: '#components-demo3' }) | |
|
||
### Composition de composants | ||
|
||
Les composants sont destinés à être utilisés ensemble, le plus souvent dans une relation parent-enfant : le composant A peut utiliser le composant B dans son propre template. Ils vont inévitablement avoir besoin de communiquer les uns avec les autres : le parent peut avoir besoin de passer des données à l'enfant, et l'enfant peut avoir besoin d'informer le parent que quelque chose s'est produit à l'intérieur. Cependant, il est également très important de garder le parent et l'enfant aussi découplés que possible via une interface clairement définie. Cela assure que le code de chaque composant peut être écrit de manière relativement isolée, cela les rend plus maintenables et potentiellement plus simples à réutiliser. | ||
Les composants sont destinés à être utilisés ensemble, le plus souvent dans une relation parent-enfant : le composant A peut utiliser le composant B dans son propre template. Ils vont inévitablement avoir besoin de communiquer les uns avec les autres : le parent peut avoir besoin de passer des données à l'enfant, et l'enfant peut avoir besoin d'informer le parent que quelque chose s'est produit à l'intérieur. Cependant, il est également très important de garder le parent et l'enfant aussi découplés que possible via une interface clairement définie. Cela assure que le code de chaque composant puisse être écrit de manière relativement isolée, cela les rend plus maintenables et potentiellement plus simples à réutiliser. | ||
|
||
Dans Vue.js, la relation parent-enfant peut être résumée ainsi : **descente de props, remontée d'évènements**. Le parent passe les données à l'enfant via les **props**, et l'enfant envoie des messages à son parent via les **évènements**. Voyons comment cela fonctionne ci-dessous. | ||
|
||
For example, you might have components for a header, sidebar, and content area, each typically containing other components for navigation links, blog posts, etc. | ||
Par exemple, vous pouvez avoir des composants pour un en-tête, une barre latérale et une zone de contenu, chacun contenant généralement d'autres composants pour les liens de navigation, les articles de blog, etc. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. entête avec la graphie rectifié de 1990 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Voilà c'est réglé ! Bonne soirée ;) |
||
|
||
To use these components in templates, they must be registered so that Vue knows about them. There are two types of component registration: **global** and **local**. So far, we've only registered components globally, using `Vue.component`: | ||
Pour utiliser ces composants dans les templates, ils doivent être enregistrés afin que Vue les connaisse. Il existe deux types d'enregistrement de composants : **global** et **local**. Jusqu'à présent, nous avons seulement enregistré des composants globalement, en utilisant `Vue.component`: | ||
|
||
### Passer des données avec props | ||
|
||
|
@@ -273,7 +273,7 @@ new Vue({ | |
</script> | ||
{% endraw %} | ||
|
||
Props are custom attributes you can register on a component. When a value is passed to a prop attribute, it becomes a property on that component instance. To pass a title to our blog post component, we can include it in the list of props this component accepts, using a `props` option: | ||
Les props sont des attributs personnalisés que vous pouvez sauvegarder dans un composant. Lorsqu'une valeur est transmise à un attribut prop, elle devient une propriété de cette instance de composant. Pour passer un titre à notre composant de blog, nous pouvons l'inclure dans la liste des props que ce composant accepte, en utilisant une propriété `props` : | ||
|
||
Les attributs HTML sont insensibles à la casse, donc quand vous utilisez des templates qui ne sont pas des chaines de caractères, le nom de la prop en camelCase a besoin de son équivalent en kebab-case (délimité par des traits d'union) : | ||
|
||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne suis pas d'accord avec cette appelation. L'attribut est un terme utilisé pour un attribut de balise HTML.
Ici on remplace l'objet initialement dans data par une function. Et habituellement ce que l'on nomme l'objet « options » est l'objet que nous passons à l'instance de Vue (dont l'une des propriétés (et pas attribut) est
data
. Je n'ai plus l'original sous la main puisque cela va être remplacé par la nouvelle version de cette page. Mais si cela n'est pas clair je préfèrerais plutôt :ce qui me semble plus juste ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
À la ligne 183 de ce fichier le titre
### data Must Be a Function
n'est pas traduit. Tu peux le traduire par?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok pour les deux remarques (je n'avais pas fait attention au titre ^^)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
D'ailleurs je ne suis pas du tout experte en traduction, je me débrouille en anglais mais de là à dire que je puisse traduire correctement des pages... Du coup si je retombe sur des phrases non traduites au fil de ma lecture (et relecture par la même occasion), tu préfères que je tente une traduction ou que je laisse le passage en anglais tel quel ?