From 0a90d9ffa35bca14a92a6f4541995b18bf7131b8 Mon Sep 17 00:00:00 2001 From: Naoki Endoh Date: Wed, 28 Apr 2021 18:51:50 +0900 Subject: [PATCH 1/4] Improve Mixins page https://github.com/vuejs/docs-next/commit/1a80da01f454257b8609321c7ec8c5fe2a2421e9#diff-2fee19450f5d6154abfd46272b50e38a71bff875f7d569702aae82fc19418e71 --- src/guide/mixins.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/guide/mixins.md b/src/guide/mixins.md index c9329fb2..893fd465 100644 --- a/src/guide/mixins.md +++ b/src/guide/mixins.md @@ -2,7 +2,7 @@ ## 基本 -ミックスイン (mixin) は、Vue コンポーネントに再利用可能な機能を持たせるための柔軟な方法です。ミックスインオブジェクトは任意のコンポーネントオプションを含むことができます。コンポーネントがミックスインを使用するとき、ミックスインの全てのオプションはコンポーネント自身のオプションに"混ぜられ"ます。 +ミックスイン (mixin) は、Vue コンポーネントに再利用可能な機能を提供します。ミックスインオブジェクトは任意のコンポーネントオプションを含むことができます。コンポーネントがミックスインを使用するとき、ミックスインの全てのオプションはコンポーネント自身のオプションに"混ぜられ"ます。 例: @@ -213,6 +213,8 @@ app.mixin({ }) ``` +## 注意事項 + Vue 2 では、ミックスインはコンポーネントロジックの一部を再利用可能なチャンクに抽象化する主要なツールでした。ただし、いくつかの問題があります: - ミックスインはコンフリクトしやすい: それぞれの機能のプロパティが同じコンポーネントにマージされるため、プロパティ名のコンフリクト回避とデバッグのために、全ての他の機能について知っておく必要があります。 From 94461da75d146f82335f35b93858575a09495455 Mon Sep 17 00:00:00 2001 From: Naoki Endoh Date: Wed, 28 Apr 2021 19:03:09 +0900 Subject: [PATCH 2/4] fix: mixins don't recursively merge data https://github.com/vuejs/docs-next/commit/2b0801e8436bc77f74dfc11080556b2ec1c992fe#diff-2fee19450f5d6154abfd46272b50e38a71bff875f7d569702aae82fc19418e71 --- src/guide/mixins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/guide/mixins.md b/src/guide/mixins.md index 893fd465..11513417 100644 --- a/src/guide/mixins.md +++ b/src/guide/mixins.md @@ -31,7 +31,7 @@ app.mount('#mixins-basic') // => "hello from mixin!" ミックスインとコンポーネントそれ自身が重複したオプションを含むとき、それらは適切なストラテジを使用して"マージ"されます。 -例えば、データオブジェクトは再帰的にマージされ、コンフリクトした場合にはコンポーネントのデータが優先されます。 +例えば、各ミックスインはそれぞれの `data` 関数を持つことができます。それぞれの関数が呼び出され、返されたオブジェクトがマージされます。コンフリクトした場合には、コンポーネント自身のデータのプロパティが優先されます。 ```js const myMixin = { From 46cc01fdc072ab7cf769cab72daf6eb5f6956ff3 Mon Sep 17 00:00:00 2001 From: Naoki Endoh Date: Wed, 28 Apr 2021 19:13:09 +0900 Subject: [PATCH 3/4] docs: add to the list of drawbacks for mixins https://github.com/vuejs/docs-next/commit/f0cfcb0b7e23b4ae138dcb8bd4a032a23d268415#diff-2fee19450f5d6154abfd46272b50e38a71bff875f7d569702aae82fc19418e71 --- src/guide/mixins.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/guide/mixins.md b/src/guide/mixins.md index 11513417..db790358 100644 --- a/src/guide/mixins.md +++ b/src/guide/mixins.md @@ -213,11 +213,13 @@ app.mixin({ }) ``` -## 注意事項 +## 欠点について Vue 2 では、ミックスインはコンポーネントロジックの一部を再利用可能なチャンクに抽象化する主要なツールでした。ただし、いくつかの問題があります: -- ミックスインはコンフリクトしやすい: それぞれの機能のプロパティが同じコンポーネントにマージされるため、プロパティ名のコンフリクト回避とデバッグのために、全ての他の機能について知っておく必要があります。 +- ミックスインはコンフリクトしやすい: それぞれのミックスインのプロパティが同じコンポーネントにマージされるので、プロパティ名のコンフリクトを避けるために、すべての他のミックスインについて知っておく必要があります。 + +- どこからともなく現れたようなプロパティ: コンポーネントが複数のミックスインを使っている場合、どのプロパティがどのミックスインからきたものなのか、必ずしも明らかではありません。 - 再利用性は制限されている: ロジックを変更するためのパラメータをミックスインに渡せないことは、抽象化ロジックに関する柔軟性を低下させます。 From ae310cce1e5f25a534a6dd8ebe8930a3619cb576 Mon Sep 17 00:00:00 2001 From: Naoki Endoh Date: Wed, 28 Apr 2021 19:16:29 +0900 Subject: [PATCH 4/4] fix: untranslate 'composition api' --- src/guide/mixins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/guide/mixins.md b/src/guide/mixins.md index db790358..419032c2 100644 --- a/src/guide/mixins.md +++ b/src/guide/mixins.md @@ -223,4 +223,4 @@ Vue 2 では、ミックスインはコンポーネントロジックの一部 - 再利用性は制限されている: ロジックを変更するためのパラメータをミックスインに渡せないことは、抽象化ロジックに関する柔軟性を低下させます。 -これらの問題に対処するため、論理的な関心事によってコードを整理する新しい方法を追加しました: [コンポジション API](composition-api-introduction.html) +これらの問題に対処するため、論理的な関心事によってコードを整理する新しい方法を追加しました: [Composition] API](composition-api-introduction.html)