2
2
3
3
> このページは [ コンポーネントの基本] ( component-basics.md ) が読まれていることが前提となっています。 コンポーネントを扱った事のない場合はこちらのページを先に読んでください。
4
4
5
- プロパティでない属性とは、コンポーネントに渡される属性やイベントリスナのうち、[ props] ( component-props ) や [ emits] ( component-custom-events.html#defining-custom-events ) で定義されたものを除いたものをいいます。よくある例としては、コンポーネント要素タグに付与する ` class ` 、` style ` 、` id ` などの属性があります。
5
+ プロパティでない属性とは、コンポーネントに渡される属性やイベントリスナのうち、[ props] ( component-props ) や [ emits] ( component-custom-events.html#defining-custom-events ) で定義されたものを除いたものをいいます。よくある例としては、コンポーネント要素タグに付与する ` class ` 、` style ` 、` id ` などの属性があります。これらの属性には ` $attrs ` プロパティでアクセスできます。
6
6
7
7
## 属性の継承
8
8
12
12
app .component (' date-picker' , {
13
13
template: `
14
14
<div class="date-picker">
15
- <input type="datetime" />
15
+ <input type="datetime-local " />
16
16
</div>
17
17
`
18
18
})
19
19
```
20
20
21
- ` data-status ` 属性を用いて date-picker コンポーネントの状態を定義するような場合には、この属性はルート要素 (すなわち ` div.date-picker ` ) に適用されます。
21
+ ` data-status ` 属性を用いて date-picker コンポーネントの状態を定義するような場合には、この属性はルート要素 (すなわち ` div.date-picker ` ) に適用されます。
22
22
23
23
``` html
24
24
<!-- プロパティでない属性 とともに用いられる Date-picker コンポーネント -->
25
25
<date-picker data-status =" activated" ></date-picker >
26
26
27
27
<!-- 実際には以下のような形で描画されます -->
28
28
<div class =" date-picker" data-status =" activated" >
29
- <input type =" datetime" />
29
+ <input type =" datetime-local " />
30
30
</div >
31
31
```
32
32
@@ -78,11 +78,11 @@ const app = Vue.createApp({
78
78
79
79
## 属性の継承の無効化
80
80
81
- コンポーネントのオプション内で、` inheritAttrs: false ` を指定することで、属性の継承を ** 無効化** することも可能です。
81
+ コンポーネントのオプション内で、` inheritAttrs: false ` を指定することで、属性の継承を ** 無効化** することも可能です。
82
82
83
83
一般的に属性の継承の無効化は、ルート要素ではない別の要素に属性を適用したいようなケースで利用される場面が考えられるでしょう。
84
84
85
- ` inheritAttrs ` を ` false ` にセットした場合属性の継承は無効化されますが、` inheritAttrs ` の設定に関わらずコンポーネントの ` $attrs ` プロパティから 、` props ` や ` emits ` といったコンポーネントのプロパティを除く全ての属性( 例えば` class ` や ` style ` 、 ` v-on ` といったものも)にアクセスすることができます 。
85
+ ` inheritAttrs ` を ` false ` にセットした場合属性の継承は無効化されますが、` inheritAttrs ` の設定に関わらずコンポーネントの ` $attrs ` プロパティを使って 、` props ` や ` emits ` といったコンポーネントのプロパティを除く全ての属性( 例えば ` class ` や ` style ` 、` v-on ` といったものも)を他の要素の属性への適用することを制御できます 。
86
86
87
87
[ 前節] ( #属性の継承 ) で利用した date-picker のコンポーネント例を用いて、プロパティでない属性の全てを ルートの ` div ` 要素ではなく ` input ` 要素に適用する場合、` v-bind ` を用いて簡略的に記述することも可能です。
88
88
@@ -91,7 +91,7 @@ app.component('date-picker', {
91
91
inheritAttrs: false,
92
92
template: `
93
93
<div class="date-picker">
94
- <input type="datetime" v-bind="$attrs" />
94
+ <input type="datetime-local " v-bind="$attrs" />
95
95
</div>
96
96
`
97
97
})
@@ -105,7 +105,7 @@ app.component('date-picker', {
105
105
106
106
<!-- Rendered date-picker component -->
107
107
<div class =" date-picker" >
108
- <input type =" datetime" data-status =" activated" />
108
+ <input type =" datetime-local " data-status =" activated" />
109
109
</div >
110
110
```
111
111
0 commit comments