VueJSで要素の属性を条件付きで追加する(v-ifで分岐させて属性を追加)


スポンサーリンク

Vue.2 までは以下のようにすればいい。

<input :required="test ? true : false">
<input :required="test">   // if true
<input :required="!test">  // if false
<input :required="!!test"> // test ? true : false

注意: !!!aと!!!aの間には違いはありません。なぜなら、!!!aは単に!!!(!a)であり、また、!!!aは真偽値であるため、!!!(!a)は単にその二重否定であり、したがって同じです。

Vue 3 の場合

Vue 3では、属性の条件付きレンダリングが変更されました。属性を省略するには、null または undefined を使用します。

<div :attr="false">
Result: <div attr="false">

<div :attr="null">
Result: <div>