@@ -8,7 +8,7 @@ Vue コンポーネントの例を次に示します:
8
8
// Vue アプリケーションを作成します
9
9
const app = Vue .createApp ({})
10
10
11
- // global な button-counter というコンポーネントを定義します
11
+ // グローバルな button-counter というコンポーネントを定義します
12
12
app .component (' button-counter' , {
13
13
data () {
14
14
return {
@@ -45,7 +45,7 @@ app.mount('#components-demo')
45
45
</p >
46
46
<script async src =" https://static.codepen.io/assets/embed/ei.js " ></script >
47
47
48
- コンポーネントは再利用可能なインスタンスなので、` data ` 、 ` computed ` 、 ` watch ` 、 ` methods ` 、そしてライフサイクルフック のようなルートインスタンスと同様のオプションが利用可能です 。唯一の例外は ` el ` のようなルート固有のオプションです。
48
+ コンポーネントは再利用可能なインスタンスなので、` data ` 、 ` computed ` 、 ` watch ` 、 ` methods ` 、そしてライフサイクルフックのようなルートインスタンスと同様のオプションが利用可能です 。唯一の例外は ` el ` のようなルート固有のオプションです。
49
49
50
50
## コンポーネントの再利用
51
51
@@ -76,7 +76,7 @@ app.mount('#components-demo')
76
76
77
77
例えば、 ヘッダー、サイドバー、コンテンツエリアなどのコンポーネントがあり、それぞれには一般的にナビゲーションリンクやブログ投稿などのコンポーネントが含まれています。
78
78
79
- これらのコンポーネントをテンプレートで使用するためには、 Vue がそれらを認識できるように登録する必要があります。 コンポーネントの登録には ** グローバル** と ** ローカル** の 2 種類があります 。これまでは、アプリケーションの ` component ` メソッドを利用してグローバルに登録してきただけです:
79
+ これらのコンポーネントをテンプレートで使用するためには、 Vue がそれらを認識できるように登録する必要があります。 コンポーネントの登録には** グローバル** と ** ローカル** の2種類があります 。これまでは、アプリケーションの ` component ` メソッドを利用してグローバルに登録してきただけです:
80
80
81
81
``` js
82
82
const app = Vue .createApp ({})
@@ -88,7 +88,7 @@ app.component('my-component-name', {
88
88
89
89
グローバルに登録されたコンポーネントはその後作成された ` app ` インスタンスのテンプレートで使用することができます。さらに、ルートインスタンスのコンポーネントツリーの全てのサブコンポーネント内でも使用することが出来ます。
90
90
91
- とりあえずコンポーネント登録についてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて [ コンポーネント登録] ( component-registration.md ) の完全なガイドを読むことをお勧めします。
91
+ とりあえずコンポーネント登録についてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて[ コンポーネント登録] ( component-registration.md ) の完全なガイドを読むことをお勧めします。
92
92
93
93
## プロパティを用いた子コンポーネントへのデータの受け渡し
94
94
@@ -165,7 +165,7 @@ app.mount('#blog-posts-demo')
165
165
166
166
上記では、 ` v-bind ` を用いて動的にプロパティを渡すことができると分かります。これは描画する内容が事前に分からない場合に特に便利です。
167
167
168
- とりあえずプロパティについてはこれで以上ですが、 このページを読み終えて十分に理解できたら、後から戻ってきて [ プロパティ] ( component-props.html ) の完全なガイドを読むことをお勧めします。
168
+ とりあえずプロパティについてはこれで以上ですが、 このページを読み終えて十分に理解できたら、後から戻ってきて[ プロパティ] ( component-props.html ) の完全なガイドを読むことをお勧めします。
169
169
170
170
## 子コンポーネントのイベントを購読する
171
171
@@ -226,7 +226,7 @@ app.component('blog-post', {
226
226
<blog-post ... @enlarge-text =" postFontSize += 0.1" ></blog-post >
227
227
```
228
228
229
- そして子コンポーネントはビルトインの [ ** ` $emit ` ** メソッド] ( ../api/instance-methods.html#emit ) にイベントの名前を渡して呼び出すことで、イベントを送出することができます:
229
+ そして子コンポーネントはビルトインの [ ** ` $emit ` ** メソッド] ( ../api/instance-methods.html#emit ) にイベントの名前を渡して呼び出すことで、イベントを送出することができます:
230
230
231
231
``` html
232
232
<button @click =" $emit('enlarge-text')" >
@@ -252,14 +252,16 @@ app.component('blog-post', {
252
252
})
253
253
```
254
254
255
- これにより、コンポーネントが排出する全てのイベントをチェックし、オプションでそれらを [ 検証する] ( component-custom-events.html#validate-emitted-events ) ことができます。
255
+ これにより、コンポーネントが排出する全てのイベントをチェックし、オプションでそれらを[ 検証する] ( component-custom-events.html#validate-emitted-events ) ことができます。
256
256
257
257
### イベントと値を送出する
258
258
259
259
イベントを特定の値と一緒に送出すると便利な場合があります。例えば、テキストをどれだけ大きく表示するかを ` <blog-post> ` コンポーネントの責務とさせたいかもしれません。そのような場合、 ` $emit ` の第二引数を使ってこの値を渡すことができます:
260
260
261
261
``` html
262
- <button @click =" $emit('enlarge-text', 0.1)" >Enlarge text</button >
262
+ <button @click =" $emit('enlarge-text', 0.1)" >
263
+ Enlarge text
264
+ </button >
263
265
```
264
266
265
267
そして親でこのイベントを購読すると、 ` $event ` を用いて排出されたイベントの値にアクセスすることができます:
@@ -308,7 +310,7 @@ methods: {
308
310
```
309
311
310
312
::: warning
311
- ここでは in-DOM テンプレートを使用しているため、 ` model-value ` をケバブケースで表記していることに注意してください。ケバブケースの属性とキャメルケースの属性に関しては [ DOM テンプレートの構文解析の注意点] ( #dom-template-parsing-caveats ) の章で詳しく解説されています。
313
+ ここでは in-DOM テンプレートを使用しているため、 ` model-value ` をケバブケースで表記していることに注意してください。ケバブケースの属性とキャメルケースの属性に関しては[ DOM テンプレートの構文解析の注意点] ( #dom-template-parsing-caveats ) の章で詳しく解説されています。
312
314
:::
313
315
314
316
これが実際に機能するためには、テンプレート内の ` <input> ` は以下でなければなりません:
@@ -361,7 +363,7 @@ app.component('custom-input', {
361
363
})
362
364
```
363
365
364
- とりあえずカスタムコンポーネントイベントについてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて [ カスタムイベント] ( component-custom-events.md ) の完全なガイドを読むことをお勧めします。
366
+ とりあえずカスタムコンポーネントイベントについてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて[ カスタムイベント] ( component-custom-events.md ) の完全なガイドを読むことをお勧めします。
365
367
366
368
## スロットによるコンテンツ配信
367
369
@@ -397,7 +399,7 @@ app.component('alert-box', {
397
399
398
400
上で見た通り、ただ渡したいところにスロットを追加するだけです。それだけです。終わりです!
399
401
400
- とりあえずスロットについてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて [ スロット] ( component-slots.md ) の完全なガイドを読むことをお勧めします。
402
+ とりあえずスロットについてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて[ スロット] ( component-slots.md ) の完全なガイドを読むことをお勧めします。
401
403
402
404
## 動的なコンポーネント
403
405
@@ -422,11 +424,11 @@ app.component('alert-box', {
422
424
- 登録されたコンポーネントの名前、または
423
425
- コンポーネントのオプションオブジェクト
424
426
425
- 完全なコードを試すには [ この例] ( https://codepen.io/team/Vue/pen/oNXaoKy ) 、登録された名前ではなくコンポーネントのオプションオブジェクトをバインドしている例は [ こちらのバージョン] ( https://codepen.io/team/Vue/pen/oNXapXM ) を参照してください。
427
+ 完全なコードを試すには [ この例] ( https://codepen.io/team/Vue/pen/oNXaoKy ) 、登録された名前ではなくコンポーネントのオプションオブジェクトをバインドしている例は[ こちらのバージョン] ( https://codepen.io/team/Vue/pen/oNXapXM ) を参照してください。
426
428
427
- この属性は通常の HTML 要素で使用することができますが、それらはコンポーネントとして扱われ、すべての属性は ** DOM 属性としてバインドされる** ことを覚えておいてください。 ` value ` のようないくつかのプロパティが期待通りに動作するためには、 [ ` .prop ` 修飾子] ( ../api/directives.html#v-bind ) を用いてバインドする必要があります。
429
+ この属性は通常の HTML 要素で使用することができますが、それらはコンポーネントとして扱われ、すべての属性は ** DOM 属性としてバインドされる** ことを覚えておいてください。 ` value ` のようないくつかのプロパティが期待通りに動作するためには、 [ ` .prop ` 修飾子] ( ../api/directives.html#v-bind ) を用いてバインドする必要があります。
428
430
429
- とりあえず動的なコンポーネントについてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて [ 動的 & 非同期コンポーネント] ( ./component-dynamic-async.html ) の完全なガイドを読むことをお勧めします。
431
+ とりあえず動的なコンポーネントについてはこれで以上ですが、このページを読み終えて十分に理解できたら、後から戻ってきて[ 動的 & 非同期コンポーネント] ( ./component-dynamic-async.html ) の完全なガイドを読むことをお勧めします。
430
432
431
433
## DOM テンプレートパース時の警告
432
434
@@ -486,6 +488,6 @@ app.component('blog-post', {
486
488
- [ 単一ファイル (` .vue ` ) コンポーネント] ( single-file-component.html )
487
489
- ` <script type="text/x-template"> `
488
490
489
- とりあえず DOM テンプレートパース時の警告についてはこれで以上です。そして実は、Vue の _ 本質_ の最後となります。おめでとうございます! まだまだ学ぶべきことはありますが、まずは一休みして自分で Vue で遊んで楽しいものを作ってみることをお勧めします 。
491
+ とりあえず DOM テンプレートパース時の警告についてはこれで以上です。そして実は、Vue の _ 本質_ の最後となります。おめでとうございます! まだまだ学ぶべきことはありますが、まずは一休みして自分で Vue を実際に使って楽しいものを作ってみることをお勧めします 。
490
492
491
493
理解したばかりの知識に慣れてきたら、サイドバーのコンポーネントの詳細セクションの他のページと同様に、[ 動的 & 非同期コンポーネント] ( component-dynamic-async.html ) の完全なガイドを読むために戻ってくることをお勧めします。
0 commit comments