イヤー詰まった。

◆結論

当然ながらTypeScriptだよ。なんでJavaScriptなんて使ってるわけ?いい大人がさぁ。聡ずかしくないのかよ。

<v-switch
  :input-value="hoge"
  @click="piyo"
  @change="fuga"
 />
  private hoge = false;
  private piyo(e: MouseEvent) {
    if (!window.confirm('お前はそれでいいのか?')) e.preventDefault();
  }
  private fuga(){
    // 適当な処理
  }

答えが分かれば簡単だった。

◆理解のキモ

ようはclickイベント拾って、handlingしてやりゃよかったんですよ。単純な話だ。changeをキャンセルするという発想じゃ勝てなかった。

@clickのemitを拾えば、MouseEventがもらえるから、preventDefaultでキャンセルだ!

◆なにゆえ詰まったか

v-switchのv-modelとかinput-valueとか、scriptで操作しても表示が切り替わらねぇ。クリックしたら終わり。「なんでバインドされないのか」を調査していて、一向に解決しなかった。バインドされててしかるべきだと思うんですけど。

一方ロシアはイベントを破棄した。

◆結論(にかいめ)

お腹と心臓の動きがおかしいのはコーヒーの飲み過ぎが原因だと思った。だってタダで飲めるんですもの。