File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change 2
2
3
3
## 基本
4
4
5
- ミックスイン (mixin) は、Vue コンポーネントに再利用可能な機能を持たせるための柔軟な方法です 。ミックスインオブジェクトは任意のコンポーネントオプションを含むことができます。コンポーネントがミックスインを使用するとき、ミックスインの全てのオプションはコンポーネント自身のオプションに"混ぜられ"ます。
5
+ ミックスイン (mixin) は、Vue コンポーネントに再利用可能な機能を提供します 。ミックスインオブジェクトは任意のコンポーネントオプションを含むことができます。コンポーネントがミックスインを使用するとき、ミックスインの全てのオプションはコンポーネント自身のオプションに"混ぜられ"ます。
6
6
7
7
例:
8
8
@@ -31,7 +31,7 @@ app.mount('#mixins-basic') // => "hello from mixin!"
31
31
32
32
ミックスインとコンポーネントそれ自身が重複したオプションを含むとき、それらは適切なストラテジを使用して"マージ"されます。
33
33
34
- 例えば、データオブジェクトは再帰的にマージされ、コンフリクトした場合にはコンポーネントのデータが優先されます 。
34
+ 例えば、各ミックスインはそれぞれの ` data ` 関数を持つことができます。それぞれの関数が呼び出され、返されたオブジェクトがマージされます。コンフリクトした場合には、コンポーネント自身のデータのプロパティが優先されます 。
35
35
36
36
``` js
37
37
const myMixin = {
@@ -213,10 +213,14 @@ app.mixin({
213
213
})
214
214
```
215
215
216
+ ## 欠点について
217
+
216
218
Vue 2 では、ミックスインはコンポーネントロジックの一部を再利用可能なチャンクに抽象化する主要なツールでした。ただし、いくつかの問題があります:
217
219
218
- - ミックスインはコンフリクトしやすい: それぞれの機能のプロパティが同じコンポーネントにマージされるため、プロパティ名のコンフリクト回避とデバッグのために、全ての他の機能について知っておく必要があります。
220
+ - ミックスインはコンフリクトしやすい: それぞれのミックスインのプロパティが同じコンポーネントにマージされるので、プロパティ名のコンフリクトを避けるために、すべての他のミックスインについて知っておく必要があります。
221
+
222
+ - どこからともなく現れたようなプロパティ: コンポーネントが複数のミックスインを使っている場合、どのプロパティがどのミックスインからきたものなのか、必ずしも明らかではありません。
219
223
220
224
- 再利用性は制限されている: ロジックを変更するためのパラメータをミックスインに渡せないことは、抽象化ロジックに関する柔軟性を低下させます。
221
225
222
- これらの問題に対処するため、論理的な関心事によってコードを整理する新しい方法を追加しました: [ コンポジション API] ( composition-api-introduction.html )
226
+ これらの問題に対処するため、論理的な関心事によってコードを整理する新しい方法を追加しました: [ Composition ] API] ( composition-api-introduction.html )
You can’t perform that action at this time.
0 commit comments