序文
これは、特定の操作後に「応答」しないリアクティブ オブジェクトに関する最新の 記事シリーズ です。
主な記録は、関連する vue の実装メカニズムです。
笑 この記事を理解するには、vue と js の使い方の基本が必要です
テストケース
テスト ケースは次のとおりです。単純なボタン イベントがトリガーされます。
問題のデバッグ
特定の@click コールバック関数呼び出しのスタック情報は次のとおりです
ネイティブjsイベントに登録されているこの呼び出し元はネイティブボタンであり、その処理関数はel-buttonのhandleClickです
el-button に来ました。彼のハンドルClick はこれです。$emit("click", e)
Vue コンポーネント自体のイベント処理は、コンポーネントの vm._events['click'] イベントを取得してトリガーし、vm._events['click'] の処理が呼び出し元になります
この呼び出し元の処理関数は、ビジネス上に登録された handleClick です。
ここでの vm は、 トリガー イベントに対応するコンポーネント VueComponentです。
vm._events にはさまざまなイベント と処理関数が含まれています
クリックの処理関数は、 handleClick 関数を組み合わせた invokerです。
以上