イヤー詰まった。

◆結論

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<v-switch
:input-value="hoge"
@click="piyo"
@change="fuga"
/>
<v-switch :input-value="hoge" @click="piyo" @change="fuga" />
<v-switch
  :input-value="hoge"
  @click="piyo"
  @change="fuga"
 />
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
private hoge = false;
private piyo(e: MouseEvent) {
if (!window.confirm('お前はそれでいいのか?')) e.preventDefault();
}
private fuga(){
// 適当な処理
}
private hoge = false; private piyo(e: MouseEvent) { if (!window.confirm('お前はそれでいいのか?')) e.preventDefault(); } private 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で操作しても表示が切り替わらねぇ。クリックしたら終わり。「なんでバインドされないのか」を調査していて、一向に解決しなかった。バインドされててしかるべきだと思うんですけど。

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

◆結論(にかいめ)

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