Skip to content

Update docs for ja #1524

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 7 commits into from
Jun 29, 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
16 changes: 13 additions & 3 deletions docs/ja/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,19 @@
- [スクロールの振る舞い](advanced/scroll-behavior.md)
- [遅延ローディング](advanced/lazy-loading.md)
- API リファレンス
- [router-link](api/router-link.md)
- [router-view](api/router-view.md)
- [ルートオブジェクト](api/route-object.md)
- [ルーターコンストラクタオプション](api/options.md)
- [routes](api/options.md#routes)
- [mode](api/options.md#mode)
- [base](api/options.md#base)
- [linkActiveClass](api/options.md#linkactiveclass)
- [linkExactActiveClass](api/options.md#linkexactactiveclass)
- [scrollBehavior](api/options.md#scrollbehavior)
- [parseQuery / stringifyQuery](api/options.md#parsequery--stringifyquery)
- [fallback](api/options.md#fallback)
- [ルーターインスタンス](api/router-instance.md)
- [Properties](api/router-instance.md#properties)
- [Methods](api/router-instance.md#methods)
- [ルートオブジェクト](api/route-object.md)
- [コンポーネント注入](api/component-injections.md)
- [router-link](api/router-link.md)
- [router-view](api/router-view.md)
8 changes: 4 additions & 4 deletions docs/ja/advanced/data-fetching.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# データ取得

ルートが有効化された時にサーバーからデータを取得する必要がしばしばあります。例えば、ユーザープロフィールをレンダリングする前に、サーバーからユーザーデータを取得する必要があります。これを実現するためには 2 種類の方法があります。
ルートが有効化された時にサーバーからデータを取得する必要がしばしばあります。例えば、ユーザープロフィールを描画する前に、サーバーからユーザーデータを取得する必要があります。これを実現するためには 2 種類の方法があります。

- **ナビゲーション後の取得**: ナビゲーションを先に実行し、その後次に入ってくるコンポーネントのライフサイクルフック内でデータを取得します。データ取得中にローディングを表示します。

Expand All @@ -10,7 +10,7 @@

## ナビゲーション後の取得

このアプローチを取る時は次に来るコンポーネントが即座にナビゲーションされ、レンダリングされます。そして、コンポーネントの `created` フックの中でデータを取得します。この方法ではネットワーク越しにデータを取得している間にローディング状態を表示する機会があります。また、各 view に対して、異なるローディングの対応をすることもできます。
このアプローチを取る時は次に来るコンポーネントが即座にナビゲーションされ、描画されます。そして、コンポーネントの `created` フックの中でデータを取得します。この方法ではネットワーク越しにデータを取得している間にローディング状態を表示する機会があります。また、各 view に対して、異なるローディングの対応をすることもできます。

`$route.params.id` を元にポストのデータを取得する必要がある `Post` コンポーネントを想定してみましょう。

Expand Down Expand Up @@ -55,7 +55,7 @@ export default {
fetchData () {
this.error = this.post = null
this.loading = true
// getPost をあなたのデータ取得用 util や API ラッパーに置き換えてください
// `getPost` をあなたのデータ取得用 util や API ラッパーに置き換えてください
getPost(this.$route.params.id, (err, post) => {
this.loading = false
if (err) {
Expand Down Expand Up @@ -86,7 +86,7 @@ export default {
next(vm => vm.setData(err, post))
})
},
// コンポーネントが既にレンダリングされている際のルート変更時は
// コンポーネントが既に描画されている際のルート変更時は
// ロジックが少し異なります
beforeRouteUpdate (to, from, next) {
this.post = null
Expand Down
35 changes: 14 additions & 21 deletions docs/ja/advanced/lazy-loading.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,36 @@

バンドラーを使ってアプリケーションを構築している時、バンドルされる JavaScript が非常に大きいものになり得ます。結果的にページのロード時間に影響を与えてしまいます。もし各ルートコンポーネントごとに別々のチャンクにして、訪れたルートの時だけロードできればより効率的でしょう。

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

必要なことは非同期のルートコンポーネントを定義するだけです。
最初に、非同期コンポーネントは Promise (コンポーネント自身解決する必要がある) を返すファクトリ関数として定義できます:

``` js
const Foo = resolve => {
// require.ensure はコード分割のための Webpack の特殊な文法です。
require.ensure(['./Foo.vue'], () => {
resolve(require('./Foo.vue'))
})
}
const Foo = () => Promise.resolve({ /* component definition */ })
```

コード分割の文法の代替として、 AMD 形式の require もあります。これを使うと次のように簡略されます。
次に、webpack 2 において [動的 import](https://github.com/tc39/proposal-dynamic-import) 構文を使用して、コード分割ポイントを示すことができます:

``` js
const Foo = resolve => require(['./Foo.vue'], resolve)
import('./Foo.vue') // returns a Promise
```

特にルート設定を変更する必要はなく、普段のように `Foo` を使用するだけです。
> Note: Babel を使用している場合、Babel が構文を正しく解析するために [syntax-dynamic-import](http://babeljs.io/docs/plugins/syntax-dynamic-import/) プラグインを追加する必要があります。

2 つを組み合わせることで、これは、webpack によって自動的にコード分割される非同期コンポーネントを定義する方法です:

``` js
const router = new VueRouter({
routes: [
{ path: '/foo', component: Foo }
]
})
const Foo = () => import('./Foo.vue')
```

### 同じチャンク内でのコンポーネントグループ化

しばしば同じ非同期のチャンクに、そのルート配下のネストされた全てのコンポーネントをグループ化したいと思うかもしれません。それを実現するためには、 `require.ensure` の第 3 引数にチャンクの名前を提供する [名前付きチャンク](https://webpack.js.org/guides/code-splitting-require/#chunkname) を使う必要があります。
しばしば同じ非同期のチャンクに、そのルート配下のネストされた全てのコンポーネントをグループ化したいと思うかもしれません。それを実現するためには、 特別なコメント構文 (webpack > 2.4 必須)を使用してチャンクの名前を提供する [名前付きチャンク](https://webpack.js.org/guides/code-splitting-async/#chunk-names) を使う必要があります。

``` js
const Foo = r => require.ensure([], () => r(require('./Foo.vue')), 'group-foo')
const Bar = r => require.ensure([], () => r(require('./Bar.vue')), 'group-foo')
const Baz = r => require.ensure([], () => r(require('./Baz.vue')), 'group-foo')
const Foo = () => import(/* webpackChunkName: "group-foo" */ './Foo.vue')
const Bar = () => import(/* webpackChunkName: "group-foo" */ './Bar.vue')
const Baz = () => import(/* webpackChunkName: "group-foo" */ './Baz.vue')
```

Webpack は同じチャンク名のどんな非同期のモジュールも同じ非同期のチャンクにグループします。つまり、 `require.ensure` に対して明示的に依存関係をリストする必要がありません (したがって空の配列を渡しています)
webpack は同じチャンク名のどんな非同期のモジュールも同じ非同期のチャンクにグループします。
4 changes: 2 additions & 2 deletions docs/ja/advanced/navigation-guards.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ const router = new VueRouter({
const Foo = {
template: `...`,
beforeRouteEnter (to, from, next) {
// このコンポーネントをレンダリングするルートが確立する前に呼ばれます
// このコンポーネントを描画するルートが確立する前に呼ばれます
// `this` でのこのコンポーネントへのアクセスはできません。
// なぜならばこのガードが呼び出される時にまだ作られていないからです!
},
Expand All @@ -96,7 +96,7 @@ const Foo = {
// `this` でコンポーネントインスタンスにアクセスできます。
},
beforeRouteLeave (to, from, next) {
// このコンポーネントをレンダリングするルートが間もなく
// このコンポーネントを描画するルートが間もなく
// ナビゲーションから離れていく時に呼ばれます。
// `this` でのコンポーネントインスタンスへのアクセスができます。
}
Expand Down
2 changes: 2 additions & 0 deletions docs/ja/advanced/scroll-behavior.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ const router = new VueRouter({

- `{ x: number, y: number }`
- `{ selector: string }`
- `{ selector: string, offset? : { x: number, y: number }}` (2.6.0 以降においてだけ offset はサポート)

もし falsy な値や空のオブジェクトが返った場合、何もスクロールは起きません。

Expand Down Expand Up @@ -53,6 +54,7 @@ scrollBehavior (to, from, savedPosition) {
if (to.hash) {
return {
selector: to.hash
// , offset: { x: 0, y: 10 }
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion docs/ja/advanced/transitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ const Bar = {

``` js
// そして親コンポーネントの中で、
// $route を watch して使用するトランジションを決定します
// `$route` を watch して使用するトランジションを決定します
watch: {
'$route' (to, from) {
const toDepth = to.path.split('/').length
Expand Down
14 changes: 14 additions & 0 deletions docs/ja/api/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
children?: Array<RouteConfig>; // ネストされたルート用
beforeEnter?: (to: Route, from: Route, next: Function) => void;
meta?: any;

// 2.6.0+
caseSensitive?: boolean; // センシティブマッチをケースとして使用するかどうか? (デフォルト: false)
pathToRegexpOptions?: Object; // 正規表現のコンパイルとして path-to-regexp オプション
}
```

Expand Down Expand Up @@ -85,3 +89,13 @@
- 型: `Function`

カスタムクエリ構文解析関数 / 文字列化関数を提供します。デフォルトを上書きします。

### fallback

> 2.6.0+

- 型: `boolean`

ブラウザが `history.pushState` をサポートしないとき、 ルーターが `hash` モードにフォールバックかどうか制御します。デフォルトは `true`

これを `false` に設定すると、本質的に全ての `router-link` ナビゲーションが IE9 においてフルページリフレッシュになります。これは、サーバサイドレンダリングでハッシュモードの URL が機能しないため、IE9 で動作する必要がある場合に便利です。
4 changes: 2 additions & 2 deletions docs/ja/api/route-object.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

``` js
router.beforeEach((route, redirect, next) => {
// ここの route はルートオブジェクト
// `to` と `from` は両方ともルートオブジェクト
})
```

Expand All @@ -23,7 +23,7 @@
``` js
const router = new VueRouter({
scrollBehavior (to, from, savedPosition) {
// to と from は両方ともルートオブジェクト
// `to``from` は両方ともルートオブジェクト
}
})
```
Expand Down
3 changes: 3 additions & 0 deletions docs/ja/api/router-instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@
}
```

- `current` はデフォルトによる現在のルートです(ほとんどの場合、これを変更する必要はありません)
- `append` は `current` ルートにパスを追加できます([`router-link`](https://router.vuejs.org/en/api/router-link.html#props)と同様に)

- **router.addRoutes(routes)**

> 2.2.0+
Expand Down
18 changes: 9 additions & 9 deletions docs/ja/api/router-link.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `<router-link>`

`<router-link>` はルーターが使用可能になっているアプリケーションでユーザーのナビゲーションを有効にするためのコンポーネントです。対象とする location は `to` プロパティを使って指定します。デフォルトでは正しい `href` と共に `<a>` タグとしてレンダリングしますが、 `tag` プロパティを設定することも可能です。さらに、対象のルートがアクティブの時に、そのリンクは自動的にアクティブな CSS クラスが当てられます。
`<router-link>` はルーターが使用可能になっているアプリケーションでユーザーのナビゲーションを有効にするためのコンポーネントです。対象とする location は `to` プロパティを使って指定します。デフォルトでは正しい `href` と共に `<a>` タグとして描画しますが、 `tag` プロパティを設定することも可能です。さらに、対象のルートがアクティブの時に、そのリンクは自動的にアクティブな CSS クラスが当てられます。

下記の理由により `<router-link>` はハードコードする `<a href="...">` よりも好ましいです。

Expand All @@ -23,13 +23,13 @@
``` html
<!-- 文字列 -->
<router-link to="home">Home</router-link>
<!-- 次のようにレンダリングされる -->
<!-- 次のように描画される -->
<a href="home">Home</a>

<!-- v-bind を使った javascript 表現 -->
<!-- `v-bind` を使った javascript -->
<router-link v-bind:to="'home'">Home</router-link>

<!-- 他のプロパティのバインディングのような v-bind の省略表現 -->
<!-- 他のプロパティのバインディングのような `v-bind` の省略表現 -->
<router-link :to="'home'">Home</router-link>

<!-- 上記と同じ -->
Expand All @@ -38,7 +38,7 @@
<!-- 名前付きルート -->
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>

<!-- 結果的に /register?plan=private になる query -->
<!-- 結果的に `/register?plan=private` になるクエリ-->
<router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>
```

Expand Down Expand Up @@ -72,11 +72,11 @@

- デフォルト: `"a"`

しばしば `<router-link>` を `<li>` などの他のタグとしてレンダリングしたい時があるでしょう。そこで、どのタグとしてレンダリングするかを指定するために `tag` プロパティを使うことができます。そして、依然ナビゲーションのためのクリックイベントを listen します。
しばしば `<router-link>` を `<li>` などの他のタグとして描画したい時があるでしょう。そこで、どのタグとして描画するかを指定するために `tag` プロパティを使うことができます。そして、依然ナビゲーションのためのクリックイベントを listen します。

``` html
<router-link to="/foo" tag="li">foo</router-link>
<!-- 以下のようにレンダリングされます -->
<!-- 以下のように描画されます -->
<li>foo</li>
```

Expand All @@ -99,7 +99,7 @@
この結果として `<router-link to="/">` は全てのルートに対してアクティブになります! リンクに対して "正確なマッチモード" を強制するために、 `exact` プロパティを使ってください。

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

Expand Down Expand Up @@ -127,7 +127,7 @@

### 外側の要素へのアクティブクラスの適用

アクティブクラスを `<a>` タグ自身よりも、外側の要素に対して適用したいことがあるでしょう。その場合、 `<router-link>` を使って外側の要素レンダリングして、その内側に生の `<a>` タグをラップすることができます。
アクティブクラスを `<a>` タグ自身よりも、外側の要素に対して適用したいことがあるでしょう。その場合、 `<router-link>` を使って外側の要素を描画して、その内側に生の `<a>` タグをラップすることができます。

``` html
<router-link tag="li" to="/foo">
Expand Down
6 changes: 3 additions & 3 deletions docs/ja/api/router-view.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `<router-view>`

`<router-view>` コンポーネントは与えられたパスに対してマッチしたコンポーネントをレンダリングする関数型コンポーネントです。`<router-view>` の中でレンダリングされるコンポーネント自身もまた、ネストされたパスに対してコンポーネントをレンダリングするための `<router-view>` を持つことができます。
`<router-view>` コンポーネントは与えられたパスに対してマッチしたコンポーネントを描画する関数型コンポーネントです。`<router-view>` の中で描画されるコンポーネント自身もまた、ネストされたパスに対してコンポーネントを描画するための `<router-view>` を持つことができます。

### プロパティ

Expand All @@ -10,11 +10,11 @@

- デフォルト: `"default"`

`<router-view>` が名前を持つ時、マッチしたルートレコードの `components` オプション内で対応する名前のコンポーネントをレンダリングします。例は [名前付きビュー](../essentials/named-views.md) をご参照ください。
`<router-view>` が名前を持つ時、マッチしたルートレコードの `components` オプション内で対応する名前のコンポーネントを描画します。例は [名前付きビュー](../essentials/named-views.md) をご参照ください。

### 振る舞い

name ではないプロパティもレンダリングされるコンポーネントに渡されますが、ほとんどの場合ルート単位のデータはルートのパラメーターに含まれています。
name ではないプロパティも描画されるコンポーネントに渡されますが、ほとんどの場合ルート単位のデータはルートのパラメーターに含まれています。

これは普通のコンポーネントなので、 `<transition>` と `<keep-alive>` と共に動作します。両方を同時に使用する場合は `<keep-alive>` を内側にするようにしてください。

Expand Down
Loading