Skip to content

Commit c05f741

Browse files
kazuponktsn
andauthored
fix: update ja docs (#3214)
* docs(ja): update NOTE: fdf5756 * docs(ja): pick NOTE: a55ae44 * docs(ja): pick NOTE: a8fe4fc * docs(ja): pick NOTE: 039bd8f * docs(ja): translate * docs(ja): remove NOTE: 41b9ac8 * docs(ja): update NOTE: 5c5b8ab * docs(ja): update NOTE: e014630 * docs(ja): translate * docs(ja): update NOTE: 23d87d8 * docs(ja): update NOTE: 8fdd9c5 * docs(ja): pick NOTE: 6ec0ee5 * docs(ja): translate * docs(ja): pick NOTE: f11e531 * docs(ja): translate * docs(ja): update NOTE: 231f4a5 * docs(ja): add sponsor links * Update docs/ja/api/README.md Co-authored-by: Katashin <[email protected]> * Update docs/ja/installation.md Co-authored-by: Katashin <[email protected]> * fix: fixed miss take translation Co-authored-by: Katashin <[email protected]>
1 parent 1f3aea6 commit c05f741

18 files changed

+115
-16
lines changed

docs/ja/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
TypeScriptユーザの場合、 `[email protected]+``[email protected]+` を必須とし、逆もまた同様です。
55
:::
66

7+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
8+
79
Vue Router は [Vue.js](http://vuejs.org) 公式ルータです。これは Vue.js のコアと深く深く統合されており、Vue.js でシングルページアプリケーションを構築します。機能は次の通りです:
810

911
- ネストされたルート/ビューマッピング

docs/ja/api/README.md

+52-10
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,49 @@ sidebar: auto
1616

1717
- HTML5 history モードで `base` オプションを使っている時に、 `to` プロパティの URL にそれを含める必要がありません。
1818

19-
### 外側の要素へのアクティブクラスの適用
19+
### `v-slot` API (3.1.0 以降)
2020

21-
アクティブクラスを `<a>` タグ自身よりも、外側の要素に対して適用したいことがあるでしょう。その場合、 `<router-link>` を使って外側の要素を描画して、その内側に生の `<a>` タグをラップすることができます
21+
`router-link`[スコープ付きスロット](https://jp.vuejs.org/v2/guide/components-slots.html#%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E4%BB%98%E3%81%8D%E3%82%B9%E3%83%AD%E3%83%83%E3%83%88)を通して低レベルなカスタマイズを提供しています。これは、主にライブラリ作者をターゲットにした高度な API ですが、ほとんどの場合 _NavLink_ などのようなカスタムコンポーネントでも同様に開発者にとっても大変便利です
2222

23-
``` html
24-
<router-link tag="li" to="/foo">
25-
<a>/foo</a>
23+
**`v-slot` API を使うとき、それは単一の子を `router-link` に通す必要がります。**そうしない場合は、 `router-linke``span` 要素で子をラップします。
24+
25+
```html
26+
<router-link
27+
to="/about"
28+
v-slot="{ href, route, navigate, isActive, isExactActive }"
29+
>
30+
<NavLink :active="isActive" :href="href" @click="navigate"
31+
>{{ route.fullPath }}</NavLink
32+
>
33+
</router-link>
34+
```
35+
36+
- `href`: 解決された url。これは、`a` 要素の `href` 属性になります
37+
- `route`: 解決された正規化済みロケーション
38+
- `navigate`: ナビゲーションをトリガーするための関数。`router-link` と同じように、**必要なときに自動的にイベントが起こらないようにします。**
39+
- `isActive`: [アクティブクラス (active class)](#active-class) が適用されるとき、`true` になります。任意のクラスを適用できます。
40+
- `isExactActive`: `true` if the [正確なアクティブクラス (exact active class)](#exact-active-class) が適用されるとき、`true` になります。 任意のクラスを適用できます。
41+
42+
#### 例: アクティブクラスを外部要素へ適用
43+
44+
アクティブクラスを `<a>` タグ自身よりも、外側の要素に対して適用したいことがあるでしょう。その場合、`<router-link>` 内の要素を `v-slot` を使ってリンクを作成することでラップできます。
45+
46+
```html
47+
<router-link
48+
to="/foo"
49+
v-slot="{ href, route, navigate, isActive, isExactActive }"
50+
>
51+
<li
52+
:class="[isActive && 'router-link-active', isExactActive && 'router-link-exact-active']"
53+
>
54+
<a :href="href" @click="navigate">{{ route.fullPath }}</a>
55+
</li>
2656
</router-link>
2757
```
2858

29-
この時、 `<a>` は実際のリンクになります (そして正しい `href` が得られます)。しかし、アクティブクラスは外側の `<li>` に適用されます。
59+
:::tip
60+
`target="_blank"``a` 要素に追加する場合、`@click="navigate"` ハンドラを省略しなければなりません。
61+
:::
3062

3163
## `<router-link>` Props
3264

@@ -112,7 +144,7 @@ sidebar: auto
112144

113145
``` html
114146
<!-- このリンクは `/` だけにアクティブになります -->
115-
<router-link to="/" exact>
147+
<router-link to="/" exact></router-link>
116148
```
117149

118150
アクティブリンククラスをより説明している例としてこちらの [動作](https://jsfiddle.net/8xrk1n9f/) を確認してください。
@@ -131,6 +163,13 @@ sidebar: auto
131163

132164
完全一致によってリンクがアクティブになっているときに適用されるアクティブな CSS クラスを設定します。デフォルト値は `linkExactActiveClass` ルーターコンストラクタのオプション経由でグローバルに設定することもできます。
133165

166+
### aria-current-value
167+
168+
- 型: `'page' | 'step' | 'location' | 'date' | 'time'`
169+
- デフォルト: `"page"`
170+
171+
完全一致によってリンクがアクティブになっているときに `aria-current` の値を設定します。ARIA spec において[aria-current で許可されている値](https://www.w3.org/TR/wai-aria-1.2/#aria-current)の1つでなければなりません。ほとんどの場合、デフォルト`page` が最適です。
172+
134173
## `<router-view>`
135174

136175
`<router-view>` コンポーネントは与えられたパスに対してマッチしたコンポーネントを描画する関数型コンポーネントです。`<router-view>` の中で描画されるコンポーネント自身もまた、ネストされたパスに対してコンポーネントを描画するための `<router-view>` を持つことができます。
@@ -164,8 +203,8 @@ name ではないプロパティも描画されるコンポーネントに渡さ
164203

165204
`RouteConfig` の型宣言:
166205

167-
``` js
168-
declare type RouteConfig = {
206+
``` ts
207+
interface RouteConfig = {
169208
path: string;
170209
component?: Component;
171210
name?: string; // 名前付きルート用
@@ -313,7 +352,9 @@ router.afterEach((to, from) => {})
313352

314353
``` js
315354
router.push(location, onComplete?, onAbort?)
355+
router.push(location).then(onComplete).catch(onAbort)
316356
router.replace(location, onComplete?, onAbort?)
357+
router.replace(location).then(onComplete).catch(onAbort)
317358
router.go(n)
318359
router.back()
319360
router.forward()
@@ -462,7 +503,8 @@ router.onError(callback)
462503
const router = new VueRouter({
463504
routes: [
464505
// 以下のオブジェクトがルートレコード
465-
{ path: '/foo', component: Foo,
506+
{ path: '/foo',
507+
component: Foo,
466508
children: [
467509
// こちらもルートレコード
468510
{ path: 'bar', component: Bar }

docs/ja/guide/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
すべての example では、vue の完全バージョンを使用してテンプレートを解析可能にしています。詳細は[こちら](https://jp.vuejs.org/v2/guide/installation.html#ランタイム-コンパイラとランタイム限定の違い)を参照してください。
77
:::
88

9+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
10+
911
Vue.js と vue-router を使ったシングルページアプリケーションの構築は驚くほど簡単です。Vue.js のコンポーネントを使ってアプリケーションを既に構成しています。vue-router を混ぜ込むには、コンポーネントとルートをマッピングさせて vue-router にどこで描画するかを知らせるだけです。以下が基本的な例です。
1012

1113
## HTML

docs/ja/guide/advanced/data-fetching.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# データ取得
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
ルートが有効化された時にサーバーからデータを取得する必要がしばしばあります。例えば、ユーザープロフィールを描画する前に、サーバーからユーザーデータを取得する必要があります。これを実現するためには 2 種類の方法があります。
46

57
- **ナビゲーション後の取得**: ナビゲーションを先に実行し、その後次に入ってくるコンポーネントのライフサイクルフック内でデータを取得します。データ取得中にローディングを表示します。
@@ -17,7 +19,7 @@
1719
``` html
1820
<template>
1921
<div class="post">
20-
<div class="loading" v-if="loading">
22+
<div v-if="loading" class="loading">
2123
Loading...
2224
</div>
2325

docs/ja/guide/advanced/lazy-loading.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 遅延ローディングルート
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
バンドラーを使ってアプリケーションを構築している時、バンドルされる JavaScript が非常に大きいものになり得ます。結果的にページのロード時間に影響を与えてしまいます。もし各ルートコンポーネントごとに別々のチャンクにして、訪れたルートの時だけロードできればより効率的でしょう。
46

57
Vue の [非同期コンポーネント機能](http://jp.vuejs.org/guide/components.html#非同期コンポーネント) と webpack の [コード分割機能](https://webpack.js.org/guides/code-splitting-async/) を組み合わせることでとても簡単に遅延ロードするルートコンポーネントができます。

docs/ja/guide/advanced/meta.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ルートメタフィールド
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
ルートの定義をする際に `meta` フィールドを含めることができます。
46

57
``` js

docs/ja/guide/advanced/navigation-guards.md

+21-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ナビゲーションガード
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
この名前が示すように、 `vue-router` によって提供されるナビゲーションガードは、リダイレクトもしくはキャンセルによって遷移をガードするために主に使用されます。ルートナビゲーション処理 (グローバル、ルート単位、コンポーネント内) をフックする多くの方法があります。
46

57
**パラメータまたはクエリの変更は enter/leave ナビゲーションガードをトリガーしない** ということを覚えておいてください。それらの変更に対応するために [`$route` オブジェクトを監視する](../essentials/dynamic-matching.md#reacting-to-params-changes)、またはコンポーネント内ガード `beforeRouteUpdate` を使用するかの、どちらかができます。
@@ -34,7 +36,24 @@ router.beforeEach((to, from, next) => {
3436

3537
- **`next(error)`**: (2.4.0+) `next` に渡された引数が `Error` インスタンスである場合、ナビゲーションは中止され、エラーは `router.onError()` を介して登録されたコールバックに渡されます。
3638

37-
**常に `next` 関数を呼び出すようにしてください。そうでなければ、フックは決して解決されません。**
39+
**与えられたナビゲーションガードを通過する任意のパスにおいて、常に 1 回だけ `next` 関数が呼び出されるようにしてください。それは 1 回以上出現することがありますが、論理パスが重ならないときだけで、そうしないないとフックは決して解決されない、またはエラーが発生します。** 以下は、ユーザーが認証されていない場合、`/login` にリダレクトするための例です:
40+
41+
```js
42+
// BAD
43+
router.beforeEach((to, from, next) => {
44+
if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' })
45+
// ユーザーが認証されていない場合、 `next` は2回呼ばれる
46+
next()
47+
})
48+
```
49+
50+
```js
51+
// GOOD
52+
router.beforeEach((to, from, next) => {
53+
if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' })
54+
else next()
55+
})
56+
```
3857

3958
## グローバル解決ガード
4059

@@ -140,7 +159,7 @@ beforeRouteLeave (to, from, next) {
140159

141160
## 完全なナビゲーション解決フロー
142161
1. ナビゲーションがトリガされる
143-
2. 非アクティブ化されたコンポーネントで leave ガードを呼ぶ
162+
2. 非アクティブ化されたコンポーネントで `beforeRouteLeave` ガードを呼ぶ
144163
3. グローバル `beforeEach` ガードを呼ぶ
145164
4. 再利用されるコンポーネントで `beforeRouteUpdate` ガードを呼ぶ (2.2 以降)
146165
5. ルート設定内の `beforeEnter` を呼ぶ

docs/ja/guide/advanced/scroll-behavior.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# スクロールの振る舞い
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
クライアントサイドのルーティングを使っている時に、新しいルートに対してスクロールをトップへ移動させたいかもしれません、もしくは実際のページリロードがしているように history 要素のスクロールポジションを保持したいこともあるかもしれません。 `vue-router` ではこれらをさらによく実現できます。ルートナビゲーションにおけるスクロールの挙動を完全にカスタマイズすることができます。
46

57
**注意: この機能は ブラウザが `history.pushState` をサポートしている場合のみ動作します。**

docs/ja/guide/advanced/transitions.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# トランジション
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
基本的に `<router-view>` は動的コンポーネントなので、 `<transition>` コンポーネントを使うのと同じ方法でトランジションを適用することができます。
46

57
``` html

docs/ja/guide/essentials/dynamic-matching.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 動的ルートマッチング
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
パターンを使って同じコンポーネントにルートをマップする必要がしばしばあるでしょう。例えば、 `User` コンポーネントは全てのユーザーに対して描画されるべきであるが、それぞれ異なるユーザー ID を持つ場合などです。`vue-router` ではパスの中の動的なセグメントを使用して実現できます。
46

57
``` js

docs/ja/guide/essentials/history-mode.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# HTML5 History モード
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
`vue-router` のデフォルトは _hash モード_ です - 完全な URL を hash を使ってシミュレートし、 URL が変更された時にページのリロードが起きません。
46

57
その hash を取り除くために、ページのリロード無しに URL 遷移を実現する `history.pushState` API を利用したルーターの **history モード** を使うことができます。
@@ -50,9 +52,9 @@ const fs = require('fs')
5052
const httpPort = 80
5153

5254
http.createServer((req, res) => {
53-
fs.readFile('index.htm', 'utf-8', (err, content) => {
55+
fs.readFile('index.html', 'utf-8', (err, content) => {
5456
if (err) {
55-
console.log('We cannot open "index.htm" file.')
57+
console.log('We cannot open "index.html" file.')
5658
}
5759

5860
res.writeHead(200, {

docs/ja/guide/essentials/named-routes.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 名前付きルート
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
しばしば、名前を使ってルートを特定できるとより便利です。特にルートにリンクするときやナビゲーションを実行するときなどです。Router インスタンスを作成するときに `routes` オプションの中でルートに名前を付けることができます。
46

57
``` js

docs/ja/guide/essentials/named-views.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 名前付きビュー
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
しばしば、ネストをさせずに同時に複数の view を表示する必要があるでしょう。例えば、`sidebar` view と `main` view を使ったレイアウトを作成する時です。そんな時に名前付きビューは便利です。あなたの view に 1 つのアウトレットを持つのではなく、複数のそれぞれが名前付きの view を持つことができます。名前を持たない `router-view` はその名前として `default` が付与されます。
46

57
``` html

docs/ja/guide/essentials/navigation.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# プログラムによるナビゲーション
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
宣言的なナビゲーションとしてアンカータグを作成する `<router-link>` がありますが、ルーターのインスタンスメソッドを使ったプログラムによる方法でもそれは可能です。
46

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

docs/ja/guide/essentials/nested-routes.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ネストされたルート
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
実際のアプリケーションの UI では通常複数のレベルの階層的にネストしたコンポーネントで構成されます。ネストされたコンポーネントの特定の構造に対して URL のセグメントを対応させることはよくあります。例:
46

57
```

docs/ja/guide/essentials/passing-props.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ルートコンポーネントにプロパティを渡す
22

3+
<div class="vueschool"><a href="https://vueschool.io/courses/vue-router-for-everyone?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to build powerful Single Page Applications with the Vue Router on Vue School">Watch a free video course about Vue Router on Vue School</a></div>
4+
35
コンポーネントで `$route` を使うとコンポーネントとルートの間に密結合が生まれ、コンポーネントが特定のURLでしか使用できないなど柔軟性が制限されます。
46

57
コンポーネントをルーターから分離するために `props` オプションを使います:

0 commit comments

Comments
 (0)