Skip to content

Spanish additions. Up to date #1441

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 3 commits into from
May 22, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 16 additions & 19 deletions docs/es/advanced/data-fetching.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,31 +83,28 @@ export default {
},
beforeRouteEnter (to, from, next) {
getPost(to.params.id, (err, post) => {
if (err) {
// muestra algún mensaje global de error
next(false)
} else {
next(vm => {
vm.post = post
})
}
next(vm => vm.setData(err, post))
})
},
// cuando la ruta cambie y este componente ya haya sido renderizado,
// la lógica será ligeramente diferente
watch: {
$route () {
this.post = null
getPost(this.$route.params.id, (err, post) => {
if (err) {
this.error = err.toString()
} else {
this.post = post
}
})
beforeRouteUpdate (to, from, next) {
this.post = null
getPost(to.params.id, (err, post) => {
this.setData(err, post)
next()
})
},
methods: {
setData (err, post) {
if (err) {
this.error = err.toString()
} else {
this.post = post
}
}
}
}
```

El usuario permanecerá en la vista actual mientras se esté obteniendo el recurso para la vista entrante. Por lo tanto, es recomendable mostrar algún tipo de indicador o barra de progreso. Si la obtención de datos falla, es necesario mostrar algún tipo de advertencia global.
El usuario permanecerá en la vista anterior mientras se esté obteniendo el recurso para la vista entrante. Por lo tanto, es recomendable mostrar algún tipo de indicador o barra de progreso. Si la obtención de datos falla, es necesario mostrar algún tipo de advertencia global.
29 changes: 27 additions & 2 deletions docs/es/advanced/navigation-guards.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Como el nombre sugiere, las guardias de navegación provistas por `vue-router` son básicamente utilizadas para proteger rutas de navegación ya sea redireccionando o cancelándolas. Hay varias maneras de engancharse en el proceso de navegación de rutas: globalmente, por ruta o dentro de los componentes.

Recuerda: **Los cambios en los parámetros o las _queries_ no harán que se ejecuten los guardias de navegación**. Simplemente [observa el objeto `$route`](../essentials/dynamic-matching.md#reacting-to-params-changes) para poder reaccionar frente a esos cambios.
Recuerda: **Los cambios en los parámetros o las _queries_ no harán que se ejecuten los guardias de navegación**. Simplemente [observa el objeto `$route`](../essentials/dynamic-matching.md#reacting-to-params-changes) para poder reaccionar frente a esos cambios o utiliza el guardia `beforeRouteUpdate` en el componente.

### Guardias globales

Expand Down Expand Up @@ -32,9 +32,19 @@ Cada función guardia recibe tres argumentos:

- **`next('/')` o `next({ path: '/' })`**: redirecciona a una ruta diferente. La navegación actual será abortada y una nueva será iniciada.

- **`next(error)`**: (2.4.0+) si el argumento pasado a `next` es una instancia de `Error`, la navegación se abortará y el error será pasado a las _funciones callback_ registradas a través de `router.onError()`.

**Asegúrese de llamar siempre a la función `next`, sino el _hook_ nunca será resuelto.**

También puedes registrar _hooks after_ globales. Sin embargo, a diferencia de las guardias, estos _hooks_ no reciben una función `next` y no pueden afectar la navegación:
### Guardias de resolución globales

> Nuevo en 2.5.0

A partir de la versión 2.5.0 puedes registrar un guardia global con `router.beforeResolve`. Esto es similar a `router.beforeEach`, con la diferencia que los guardias de resolución serán llamados justo antes de que la navegación sea confirmada, **después que todos los guardias en el componente y los componentes de rutas asíncronos sean resueltos**.

### Post _hooks_ globales

También puedes registrar _hooks_ globales que se ejecutarán después de que la navegación sea confirmada. Sin embargo, a diferencia de los guardias, estos _hooks_ no reciben una función `next` y no pueden afectar la navegación:

``` js
router.afterEach((to, from) => {
Expand Down Expand Up @@ -107,3 +117,18 @@ beforeRouteEnter (to, from, next) {
```

Puedes acceder directamente a `this` dentro de `beforeRouteLeave`. La guardia _leave_ se utiliza normalmente para prevenir al usuario cuando intenta abandonar la ruta accidentalmente sin guardar cambios. La navegación puede ser cancelada ejecutando `next(false)`.

### El flujo de resolución de navegación completo

1. Se dispara la navegación.
2. Se llaman a los guardias _leave_ en los componentes desactivados.
3. Se llaman a los guardias `beforeEach` globales.
4. Se llaman a los guardias `beforeRouteUpdate` en los componentes reutilizados (2.2+).
5. Se llama a `beforeEnter` en las configuraciones de rutas.
6. Se resuelven componentes de rutas asíncronos.
7. Se llama a `beforeRouteEnter` en los componentes activados.
8. Se llama a los guardias globales `beforeResolve` (2.5+).
9. Se confirma la navegación.
10. Se llaman a los _hook_ globales`afterEach`.
11. Se disparan las actualizaciones del DOM.
12. Se llaman a las _funciones callback_ pasadas a `next` en los guardias `beforeRouteEnter` con las instancias creadas.
1 change: 1 addition & 0 deletions docs/es/api/component-injections.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Estas propiedades son inyectadas dentro de cada componente hijo pasando la insta
### Opciones habilitadas

- **beforeRouteEnter**
- **beforeRouteUpdate** (agregado en 2.2)
- **beforeRouteLeave**

Más información en [guardias en componentes](../advanced/navigation-guards.md#incomponent-guards).
18 changes: 18 additions & 0 deletions docs/es/api/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@

Configura globalmente la clase activa por defecto de `<router-link>`. Más información en [router-link](router-link.md).

### linkExactActiveClass

> 2.5.0+

- tipo: `string`

- valor por defecto: `"router-link-exact-active"`

Configura globalmente la clase activa de `<router-link>` para coincidencias de rutas exactas. Más información en [router-link](router-link.md).

### scrollBehavior

- tipo: `Function`
Expand All @@ -68,3 +78,11 @@
```

Para más detalles, [comportamiento del scroll](../advanced/scroll-behavior.md).

### parseQuery / stringifyQuery

> 2.4.0+

- tipo: `Function`

Provee funciones parse / stringify para _query string_ personalizadas. Sobreescribe la función por defecto.
18 changes: 17 additions & 1 deletion docs/es/api/router-instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@
### Métodos

- **router.beforeEach(guard)**
- **router.beforeResolve(guard)** (2.5.0+)
- **router.afterEach(hook)**

Agrega guardias de navegación globales. Info: [guardias de navegación](../advanced/navigation-guards.md).

A partir de la versión 2.5.0 los tres métodos devuelven una función que elimina el guardia/hook registrado.

- **router.push(location, onComplete?, onAbort?)**
- **router.replace(location, onComplete?, onAbort?)**
Expand Down Expand Up @@ -60,10 +62,24 @@

Agrega dinámicamente más rutas al `router`. El argumento debe ser un array utilizando el mismo formato de configuración que las opciones del constructor de `routes`.

- **router.onReady(callback)**
- **router.onReady(callback, [errorCallback])**

> 2.2.0+

Este método pone una _función callback_ en espera a ser llamada cuando el `router` haya completado la navegación inicial, lo cual significa que ya ha resuelto todos los _hooks_ de entrada asíncronos y los componentes asíncronos asociados con la ruta inicial.

Esto es útil en el renderizado del lado servidor para asegurar un resultado consistente tanto en el servidor como en el cliente.

El segundo argumento, `errorCallback`, solo es soportado a partir de la versión 2.4. Será llamado cuando la resolución de ruta inicial devuelva un error (por ejemplo, cuando falla la resolución de un componente asíncrono).

- **router.onError(callback)**

> 2.4.0+

Registra una _función callback_ la cual será llamada cuando un error es capturado durante la navegación. Ten en cuenta que sucederá solo en las siguientes situaciones:

- El error es lanzado sincrónicamente dentro de una función de guardia de ruta;

- El error es capturado y manejado asíncronamente llamando a `next(err)` dentro de una función de guardia de ruta;

- El error ocurre cuando se intenta resolver un componente asíncrono que es necesario para renderizar una ruta.
10 changes: 10 additions & 0 deletions docs/es/api/router-link.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,16 @@ Es preferible utilizar `<router-link>` en lugar de escribir directamente `<a hre

Son los eventos que permiten lanzar la navegacion.

- **exact-active-class**

> 2.5.0+

- tipo: `string`

- valor por defecto: `"router-link-exact-active"`

Configura la clase CSS activa que será aplicada cuando el enlace esté activo con una coincidencia de ruta exacta. Ten en cuenta que el valor por defecto también puede configurarse globalmente a través de la opción `linkExactActiveClass` del constructor del router.

### Aplicar la clase activa al elemento envolvente.

A veces puede que queramos que la clase activa se aplique al elemento envolvente en lugar de aplicarla directamente a la etiqueta `<a>`. En ese caso, puedes renderizar el elemento envolvente utilizando `<router-link>` y luego una etiqueta `<a>` dentro:
Expand Down
2 changes: 2 additions & 0 deletions docs/es/essentials/navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Además de utilizar `<router-link>` para crear etiquetas `a` para una navegació

#### `router.push(location, onComplete?, onAbort?)`

**Nota: Dentro de una instancia de Vue, tienes acceso a la instancia del router a través de `$router`. Por lo tanto puedes llamar a `this.$router.push`.**

Para navegar a una URL diferente, utiliza `router.push`. Este método agrega una nueva entrada a la pila del historial, por lo que cuando el usuario presione el botón _volver_ del navegador, será llevado a la URL anterior.

Este método es el que se llama internamente cuando se hace clic en un componente `<router-link>`, por lo que`<router-link :to="...">` es el equivalente a ejecutar `router.push(...)`.
Expand Down
7 changes: 7 additions & 0 deletions docs/es/essentials/passing-props.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@ const User = {
const router = new VueRouter({
routes: [
{ path: '/user/:id', component: User, props: true }

// utilizando vistas con nombre, tienes que definir la opción prop para cada una de ellas:
{
path: '/user/:id',
components: { default: User, sidebar: Sidebar },
props: { default: true, sidebar: false }
}
]
})
```
Expand Down