実現したいこと
ケバブケースのクラス名をクリックで付けたり外したりしたいです。
Buefyというフレームワークを使っており、is-active
というクラスが付与されたら、モバイル上でヘッダーの開閉ができるようになっています。
ただ、このフレームワークはJSは含まれずCSSのみで構成されているため、is-active
の付け外しは自分で実装するようにと記載されています。
公式
Vueではv-bind
のときはケバブケースでは読みこめず、キャメルケースが推奨されており、どうしてもケバブケースを使いたいならシングルクォーテーションで囲むと使えるというのは、調べて分かりました。
ですが、v-on:click
でis-active
をtrue
とfalse
の切り替えを実装する時に、この(v-on:click="'is-active'=!'is-active'"
)書き方だとコンパイルエラーとなってしまいました。
なにか良い書き方があればアドバイスを頂けますと幸いです。
よろしくお願いいたします。
エラー
Errors compiling template: invalid expression: Invalid left-hand side in assignment in 'is-active'=!'is-active' Raw expression: v-on:click="'is-active'=!'is-active'"
試したこと
Vue
1 <div> 2 <a 3 role="button" 4 class="navbar-burger" 5 v-bind:class="{ active: 'is-active' }" 6 aria-label="menu" 7 aria-expanded="false" 8 data-target="navbarBasicExample" 9 v-on:click="'is-active'=!'is-active'" ←ここです 10 > 11 <span aria-hidden="true"></span> 12 <span aria-hidden="true"></span> 13 <span aria-hidden="true"></span> 14 </a> 15 </div> 16 17 <div 18 id="navbarBasicExample" 19 class="navbar-menu" 20 v-bind:class="{ active: 'is-active' }" 21 > 22 </div>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/03 11:18
2021/03/03 12:23
2021/03/03 21:29