File: router-instance.md

package info (click to toggle)
vue-router.js 3.4.9%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,212 kB
  • sloc: javascript: 7,982; sh: 22; makefile: 5
file content (88 lines) | stat: -rw-r--r-- 4,647 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Экземпляр Router

### Свойства

#### router.app

- тип: `Vue instance`

  Корневой экземпляр Vue, в который был интегрирован `router`.

#### router.mode

- тип: `string`

  [Режим](options.md#mode), используемый роутером.

#### router.currentRoute

- тип: `Route`

  Текущий путь в виде [объекта Route](route-object.md).

### Методы

- **router.beforeEach(guard)**
- **router.beforeResolve(guard)** (добавлено в версии 2.5.0+)
- **router.afterEach(hook)**

  См. [сторожевые хуки](../advanced/navigation-guards.md).

  С версии 2.5.0+ все три метода возвращают функцию, которая удаляет зарегистрированный хук.

- **router.push(location, onComplete?, onAbort?)**
- **router.replace(location, onComplete?, onAbort?)**
- **router.go(n)**
- **router.back()**
- **router.forward()**

  Методы для императивного перехода к новому URL. См. [Императивная навигация](../essentials/navigation.md).

- **router.getMatchedComponents(location?)**

  Возвращает массив компонентов (определение/конструктор, не экземпляры), совпадающих с текущим путём. В основном используется во время рендеринга на сервере для получения необходимых данных.

- **router.resolve(location, current?, append?)**

  > 2.1.0+

  Служит для обратного разрешения URL. Получая на вход путь в том же формате, что используется `<router-link/>`, возвращает объект со следующими свойствами:

  ``` js
  {
    location: Location;
    route: Route;
    href: string;
  }
  ```

  - `current` — текущий маршрут по умолчанию (в большинстве случаем вам не нужно это изменять)
  - `append` — позволяет вам добавить путь к маршруту `current` (например, с помощью [`router-link`](router-link.md#props))

- **router.addRoutes(routes)**

  > 2.2.0+

  Динамически добавить дополнительные маршруты в маршрутизатор. Аргументом должен быть массив маршрутов в таком же формате как и в опции `routes` конструктора.

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

  > 2.2.0+

  Этот метод добавляет в очередь коллбек, который будет вызван когда маршрутизатор завершит начальную навигацию, что означает что будут завершены все асинхронные хуки и будут готовы асинхронные компоненты связанные с начальным маршрутом.

  Это будет полезно при рендеринге на стороне сервера для обеспечения одинакового результата как на сервере, так и на клиенте.

  Второй аргумент `errorCallback` поддерживается только в версиях 2.4+. Он вызывается, когда исходное разрешение маршрута заканчивается ошибкой (например, не удалось разрешить асинхронный компонент).

- **router.onError(callback)**

  > Добавлено в версии 2.4.0+

  Регистрация коллбека, который будет вызываться при ошибках во время навигации по маршруту. Обратите внимание, что для вызова ошибки должен быть использован один из следующих сценариев:

  - Ошибка произошла синхронно внутри функции маршрута;

  - Ошибка фиксируется и асинхронно обрабатывается с помощью `next(err)` внутри функции сторожевого хука;

  - Произошла ошибка при попытке разрешить асинхронный компонент, необходимый для отображения маршрута.