|
1 |
| -# Breaking Changes |
| 1 | +# 破壊的変更 |
2 | 2 |
|
3 |
| -This page lists all Vue 3 breaking changes from Vue 2. |
| 3 | +このページでは、Vue 2 から Vue 3 の破壊的変更をすべてリストアップしています。 |
4 | 4 |
|
5 |
| -While it looks like a lot has changed, a lot of what you know and love about Vue is still the same; but we wanted to be as thorough as possible and provide detailed explanations and examples for every documented change. |
| 5 | +たくさん変わったように見えますが、Vue について皆さんが知っていることや気に入っていることの多くは変わりません。しかしできる限り徹底して、ドキュメント化されたすべての変更について詳細な説明と例を提供したいと考えました。 |
6 | 6 |
|
7 |
| -## Details |
| 7 | +## 詳細 |
8 | 8 |
|
9 |
| -### Global API |
| 9 | +### グローバル API |
10 | 10 |
|
11 |
| -- [Global Vue API is changed to use an application instance](./global-api.html) |
12 |
| -- [Global and internal APIs have been restructured to be tree-shakable](./global-api-treeshaking.html) |
| 11 | +- [グローバル Vue API はアプリケーションインスタンスを使用するように変更されました](./global-api.html) |
| 12 | +- [グローバル API と内部 API が再構築され、ツリーシェイキングが可能になりました](./global-api-treeshaking.html) |
13 | 13 |
|
14 |
| -### Template Directives |
| 14 | +### テンプレートディレクティブ |
15 | 15 |
|
16 |
| -- [`v-model` usage on components has been reworked, replacing `v-bind.sync`](./v-model.html) |
17 |
| -- [`key` usage on `<template v-for>` and non-`v-for` nodes has changed](./key-attribute.html) |
18 |
| -- [`v-if` and `v-for` precedence when used on the same element has changed](./v-if-v-for.html) |
19 |
| -- [`v-bind="object"` is now order-sensitive](./v-bind.html) |
20 |
| -- [`v-on:event.native` modifier has been removed](./v-on-native-modifier-removed.md) |
| 16 | +- [コンポーネントでの `v-model` の使用方法が見直され、`v-bind.sync` を置き換えます](./v-model.html) |
| 17 | +- [`<template v-for>` や `v-for` でないノードでの `key` の使い方が変更されました](./key-attribute.html) |
| 18 | +- [`v-if` と `v-for` を同じ要素で使用した場合の優先順位が変更されました](./v-if-v-for.html) |
| 19 | +- [`v-bind="object"` は順序に依存するようになりました](./v-bind.html) |
| 20 | +- [`v-on:event.native` 修飾子は削除されました](./v-on-native-modifier-removed.md) |
21 | 21 |
|
22 |
| -### Components |
| 22 | +### コンポーネント |
23 | 23 |
|
24 |
| -- [Functional components can only be created using a plain function](./functional-components.html) |
25 |
| -- [`functional` attribute on single-file component (SFC) `<template>` and `functional` component option are deprecated](./functional-components.html) |
26 |
| -- [Async components now require `defineAsyncComponent` method to be created](./async-components.html) |
27 |
| -- [Component events should now be declared with the `emits` option](./emits-option.md) |
| 24 | +- [関数型コンポーネントは普通の関数のみで作成できます](./functional-components.html) |
| 25 | +- [単一ファイルコンポーネント(SFC)での `<template>` の `functional` 属性と、コンポーネントオプションの `functional` は非推奨です](./functional-components.html) |
| 26 | +- [非同期コンポーネントを作成するには `defineAsyncComponent` メソッドが必要になりました](./async-components.html) |
| 27 | +- [コンポーネントイベントは `emits` オプションで宣言する必要があります](./emits-option.md) |
28 | 28 |
|
29 |
| -### Render Function |
| 29 | +### レンダー関数 |
30 | 30 |
|
31 |
| -- [Render function API changed](./render-function-api.html) |
32 |
| -- [`$scopedSlots` property is removed and all slots are exposed via `$slots` as functions](./slots-unification.html) |
33 |
| -- [`$listeners` has been removed / merged into `$attrs`](./listeners-removed) |
34 |
| -- [`$attrs` now includes `class` and `style` attributes](./attrs-includes-class-style.md) |
| 31 | +- [レンダー関数の API が変更されました](./render-function-api.html) |
| 32 | +- [`$scopedSlots` プロパティーは削除され、すべてのスロットが `$slots` で関数として公開されます](./slots-unification.html) |
| 33 | +- [`$listeners` は削除され、`$attrs` に統合されました](./listeners-removed) |
| 34 | +- [`$attrs` には `class` と `style` 属性が含まれるようになりました](./attrs-includes-class-style.md) |
35 | 35 |
|
36 |
| -### Custom Elements |
| 36 | +### カスタム要素 |
37 | 37 |
|
38 |
| -- [Custom element checks are now performed during template compilation](./custom-elements-interop.html) |
39 |
| -- [Special `is` attribute usage is restricted to the reserved `<component>` tag only](./custom-elements-interop.html#customized-built-in-elements) |
| 38 | +- [テンプレートのコンパイル時に、カスタム要素のチェックが行われるようになりました](./custom-elements-interop.html) |
| 39 | +- [特別な `is` 属性の使用は、予約済みである `<component>` タグのみに制限されます](./custom-elements-interop.html#customized-built-in-elements) |
40 | 40 |
|
41 |
| -### Other Minor Changes |
| 41 | +### その他の小さな変更 |
42 | 42 |
|
43 |
| -- The `destroyed` lifecycle option has been renamed to `unmounted` |
44 |
| -- The `beforeDestroy` lifecycle option has been renamed to `beforeUnmount` |
45 |
| -- [Props `default` factory function no longer has access to `this` context](./props-default-this.html) |
46 |
| -- [Custom directive API changed to align with component lifecycle and `binding.expression` removed](./custom-directives.html) |
47 |
| -- [The `data` option should always be declared as a function](./data-option.html) |
48 |
| -- [The `data` option from mixins is now merged shallowly](./data-option.html#mixin-merge-behavior-change) |
49 |
| -- [Attributes coercion strategy changed](./attribute-coercion.html) |
50 |
| -- [Some transition classes got a rename](./transition.html) |
51 |
| -- [`<TransitionGroup>` now renders no wrapper element by default](./transition-group.html) |
52 |
| -- [When watching an array, the callback will only trigger when the array is replaced. If you need to trigger on mutation, the `deep` option must be specified.](./watch.html) |
53 |
| -- `<template>` tags with no special directives (`v-if/else-if/else`, `v-for`, or `v-slot`) are now treated as plain elements and will result in a native `<template>` element instead of rendering its inner content. |
54 |
| -- [Mounted application does not replace the element it's mounted to](./mount-changes.html) |
55 |
| -- [Lifecycle `hook:` events prefix changed to `vnode-`](./vnode-lifecycle-events.html) |
| 43 | +- ライフサイクルの `destroyed` オプションは `unmounted` に名称変更されました |
| 44 | +- ライフサイクルの `beforeDestroy` オプションは `beforeUnmount` に名称変更されました |
| 45 | +- [props の `default` ファクトリー関数は `this` コンテキストにアクセスできなくなりました](./props-default-this.html) |
| 46 | +- [カスタムディレクティブ API は、コンポーネントのライフサイクルに合わせて変更され、`binding.expression` は削除されました](./custom-directives.html) |
| 47 | +- [`data` オプションは、常に関数として宣言する必要があります](./data-option.html) |
| 48 | +- [mixins の `data` オプションは浅くマージされるようになりました](./data-option.html#mixin-merge-behavior-change) |
| 49 | +- [属性の型強制戦略が変更されました](./attribute-coercion.html) |
| 50 | +- [一部のトランジションクラス名が変更されました](./transition.html) |
| 51 | +- [`<TransitionGroup>` はデフォルトでラッパー要素をレンダリングしないようになりました](./transition-group.html) |
| 52 | +- [配列を監視している場合、コールバックは配列が置換されたときにのみトリガーされます。変更時にトリガーする必要がある場合は、`deep` オプションを指定する必要があります。](./watch.html) |
| 53 | +- 特別なディレクティブ(`v-if/else-if/else`, `v-for`, `v-slot`)を持たない `<template>` タグはプレーンな要素として扱われ、その内部コンテンツをレンダリングする代わりに、ネイティブの `<template>` 要素が生成されるようになりました。 |
| 54 | +- [マウントされたアプリケーションは、そこにマウントされている要素を置き換えません](./mount-changes.html) |
| 55 | +- [ライフサイクルの `hook:` イベントプレフィックスが `vnode-` に変更されました](./vnode-lifecycle-events.html) |
56 | 56 |
|
57 |
| -### Removed APIs |
| 57 | +### 削除された API |
58 | 58 |
|
59 |
| -- [`keyCode` support as `v-on` modifiers](./keycode-modifiers.html) |
60 |
| -- [$on, $off and \$once instance methods](./events-api.html) |
61 |
| -- [Filters](./filters.html) |
62 |
| -- [Inline templates attributes](./inline-template-attribute.html) |
63 |
| -- [`$children` instance property](./children.html) |
64 |
| -- [`propsData` option](./props-data.html) |
65 |
| -- `$destroy` instance method. Users should no longer manually manage the lifecycle of individual Vue components. |
66 |
| -- Global functions `set` and `delete`, and the instance methods `$set` and `$delete`. They are no longer required with proxy-based change detection. |
| 59 | +- [`v-on` 修飾子としての `keyCode` サポート](./keycode-modifiers.html) |
| 60 | +- [$on, $off, \$once インスタンスメソッド](./events-api.html) |
| 61 | +- [フィルター](./filters.html) |
| 62 | +- [インラインテンプレート属性](./inline-template-attribute.html) |
| 63 | +- [`$children` インスタンスプロパティー](./children.html) |
| 64 | +- [`propsData` オプション](./props-data.html) |
| 65 | +- `$destroy` インスタンスメソッド。ユーザーは、個々の Vue コンポーネントのライフサイクルを手動で管理する必要がなくなりました。 |
| 66 | +- グローバル関数の `set` と `delete`、インスタンスメソッドの `$set` と `$delete` は削除されました。プロキシベースの変更検出では不要になりました。 |
0 commit comments