22
33> このページは [ コンポーネントの基本] ( component-basics.md ) が読まれていることが前提となっています。 コンポーネントを扱った事のない場合はこちらのページを先に読んでください。
44
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 ` プロパティでアクセスできます。
66
77## 属性の継承
88
1212app .component (' date-picker' , {
1313 template: `
1414 <div class="date-picker">
15- <input type="datetime" />
15+ <input type="datetime-local " />
1616 </div>
1717 `
1818})
1919```
2020
21- ` data-status ` 属性を用いて date-picker コンポーネントの状態を定義するような場合には、この属性はルート要素 (すなわち ` div.date-picker ` ) に適用されます。
21+ ` data-status ` 属性を用いて date-picker コンポーネントの状態を定義するような場合には、この属性はルート要素 (すなわち ` div.date-picker ` ) に適用されます。
2222
2323``` html
2424<!-- プロパティでない属性 とともに用いられる Date-picker コンポーネント -->
2525<date-picker data-status =" activated" ></date-picker >
2626
2727<!-- 実際には以下のような形で描画されます -->
2828<div class =" date-picker" data-status =" activated" >
29- <input type =" datetime" />
29+ <input type =" datetime-local " />
3030</div >
3131```
3232
@@ -78,11 +78,11 @@ const app = Vue.createApp({
7878
7979## 属性の継承の無効化
8080
81- コンポーネントのオプション内で、` inheritAttrs: false ` を指定することで、属性の継承を ** 無効化** することも可能です。
81+ コンポーネントのオプション内で、` inheritAttrs: false ` を指定することで、属性の継承を ** 無効化** することも可能です。
8282
8383一般的に属性の継承の無効化は、ルート要素ではない別の要素に属性を適用したいようなケースで利用される場面が考えられるでしょう。
8484
85- ` inheritAttrs ` を ` false ` にセットした場合属性の継承は無効化されますが、` inheritAttrs ` の設定に関わらずコンポーネントの ` $attrs ` プロパティから 、` props ` や ` emits ` といったコンポーネントのプロパティを除く全ての属性( 例えば` class ` や ` style ` 、 ` v-on ` といったものも)にアクセスすることができます 。
85+ ` inheritAttrs ` を ` false ` にセットした場合属性の継承は無効化されますが、` inheritAttrs ` の設定に関わらずコンポーネントの ` $attrs ` プロパティを使って 、` props ` や ` emits ` といったコンポーネントのプロパティを除く全ての属性( 例えば ` class ` や ` style ` 、` v-on ` といったものも)を他の要素の属性への適用することを制御できます 。
8686
8787[ 前節] ( #属性の継承 ) で利用した date-picker のコンポーネント例を用いて、プロパティでない属性の全てを ルートの ` div ` 要素ではなく ` input ` 要素に適用する場合、` v-bind ` を用いて簡略的に記述することも可能です。
8888
@@ -91,7 +91,7 @@ app.component('date-picker', {
9191 inheritAttrs: false,
9292 template: `
9393 <div class="date-picker">
94- <input type="datetime" v-bind="$attrs" />
94+ <input type="datetime-local " v-bind="$attrs" />
9595 </div>
9696 `
9797})
@@ -105,7 +105,7 @@ app.component('date-picker', {
105105
106106<!-- Rendered date-picker component -->
107107<div class =" date-picker" >
108- <input type =" datetime" data-status =" activated" />
108+ <input type =" datetime-local " data-status =" activated" />
109109</div >
110110```
111111
0 commit comments