WeChatアプレットbindtapとcatchtapの違いの詳細な説明

WeChatアプレットbindtapとcatchtapの違いの詳細な説明

1. イベントとは何ですか?

(1)イベントはビュー層からロジック層への通信手段である。

(2)イベントは、ユーザの行動をロジック層にフィードバックして処理することができる。

(3)イベントはコンポーネントにバインドすることができ、トリガーイベントに到達すると、ロジック層内の対応するイベント処理機能が実行されます。

(4)イベントオブジェクトは、ID、データセット、タッチなどの追加情報を保持できます。

2. イベントの使い方

(1)簡単に言えば、コンポーネントにイベントをバインドすることです。bindtapとcatchtapはどちらもクリックイベントに属します。バインド後、コンポーネントをクリックするとこの機能がトリガーされます。

(2)tapName関数は、関数呼び出しに関するコンテキスト情報を格納するパラメータイベントを受け入れます。

(3)ラベル要素

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> クリックしてください! </view>

(4)拘束イベント

ページ({
    タップ名: 関数(イベント) {
        console.log(イベント)
    }
})

3. バインドタップとキャッチタップの違い

(1)類似点:まず、どちらもクリックイベント関数であり、クリックされるとトリガーされます。この機能では、それらは同じであり、区別する必要はありません。

(2)相違点:主な違いは、バインドタップは泡立ちがあり、キャッチタップは泡立たないことです。

4. ミニプログラム内のイベントは、バブリングイベントと非バブリングイベントに分けられます。

(1)この記事では、バブリングイベントタップ(指が触れてすぐに離れる、つまりクリックイベント)を例に、バインドイベントとキャッチイベントを区別します。

(2)bindtap?イベントバインディングはバブリングイベントが上向きにバブリングするのを妨げない

(3)キャッチタップ?イベントバインディングはバブリングイベントが上向きにバブリングするのを防ぐことができる

イベントのターゲットと現在のターゲットの違い

上記の wxml&&wxss コードを引き続き使用して、今回は js コードの print 値を変更します。

// js
  アウタータップFn(e) {
    console.log("外側の親要素がクリックされました =.=",e);
  },
  インナータップ関数(e) {
    console.log("私はクリックされた内部の子要素です =.=",e);
  },

ターゲットは、イベントをトリガーするソース コンポーネントに対応します。このコンポーネントは、アクションが実行される領域に応じて、子コンポーネントまたは親コンポーネントになる場合があります。そして、currentTarget は常にイベントがバインドされているコンポーネントに対応します。

5. 例

1. 3 つのビュー クリック イベントがあり、すべてが bindtap を使用する場合、3 つのビューは階層的に含まれていますか?

<view id="outer" bindtap="out">
    外観
    <view id="middle" bindtap="middle">
        中間ビュー
        <view id="inner" bindtap="inner">
            内部ビュー
        </ビュー>
    </ビュー>
</ビュー>

2. js では、コードは対応するイベントのログを出力します。コードは次のとおりです。

出力:関数(e){
    console.log("--out バインドタップ クリック")
}, 中間: 関数 (e) {
    console.log("--middle bindtap クリック")
}, 内部: 関数 (e) {
    console.log("--inner bindtap クリック")
}

3. Bindtapの実行結果

  • ログを印刷するには、ビューをクリックします --> バインドタップをクリックして出力します
  • 中央のビューをクリックすると、2 つのログが印刷されます --> 中央のバインドタップをクリック -- アウト バインドタップをクリック
  • 新しいビューをクリックして 3 つのログを印刷します --> 内側のバインドタップをクリック - 中央のバインドタップをクリック - 外側のバインドタップをクリック
  • バインドタップは上向きの泡立ちを防げないので、内側の泡が最外層までクリックされていることがわかります。

4. 中間ビューのbindtapをcatchtapに変更するだけの場合

  • ログを印刷するには、アウトビューをクリックします --> アウトバインドタップをクリックします (上位要素がないため、バブルアップできません)
  • 中央のビューをクリックしてログを印刷します --> 中央のバインドタップをクリックします (キャッチタップは上向きの泡立ちを防ぎます)
  • 新しいビューをクリックして 2 つのログを印刷します --> 内側のバインドタップ クリック -- 中央のバインドタップ クリック (キャッチタップにより上向きの泡立ちが防止されます)

WeChatミニプログラムbindtapとcatchtapの違いについての詳細な説明はこれで終わりです。WeChatミニプログラムbindtapとcatchtapに関するより関連性の高いコンテンツについては、123WORDPRESS.COMで以前の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChat アプレットの bindtap パラメータ渡しのサンプルコード
  • WeChat アプレット イベント bindtap bindinput コード例
  • WeChatアプレットのbindtapイベントとバブル防止の詳細な説明
  • WeChatミニプログラムBindTapで対象ページを素早く連続クリックすると対象ページに複数回ジャンプする問題の解決方法
  • WeChatアプレットビューコントロールとbindtap間の問題の解決策
  • WeChatアプレットはbindtapとその他​​のイベントパラメータ送信を実装します

<<:  Docker コンテナにデータベースをデプロイする場合の欠点は何ですか?

>>:  MySQL SQL文を最適化するためのヒント

推薦する

MySQL で単一のデータベースまたはテーブルを復元する方法と、起こりうる落とし穴

序文:最も一般的に使用される MySQL 論理バックアップ ツールは mysqldump です。通常...

CSS における位置指定の概要

CSS には 4 種類の配置方法があり、シナリオによって効果が異なります。ここでは、これら 4 種類...

vue3+vite プロジェクトで svg を使用する方法の詳細なグラフィック説明

今日、vue3+viteプロジェクトの実践で、svgを使用する場合、以前の記述方法が使用できないこと...

Vue が scss (mixin) をグローバルに導入

目次1. ミックスイン.scss 2. 単一ファイルの使用3. グローバルマウント3.1 依存関係の...

各 Nginx プロセスで開くことができるファイルの最大数を設定する方法

1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...

体験をデザインする: ボタンには何があるか

<br />最近、UCDChina は「インターフェース上のテキストに注意を払う」という...

Dockerはnextcloudを使用してプライベートBaiduクラウドディスクを構築します

突然、ドキュメントの保存と共同作業のためのプライベート サービスを構築する必要がありました。多くの場...

XHTML Web ページ チュートリアル

<br />この記事は主に、初心者にXHTMLの基本知識と、XHTMLとHTMLの違いを...

...

Dockerでnginxをデプロイし、設定ファイルを変更する方法

Dockerでnginxをデプロイするのはとても簡単ですたった 1 行のコマンド: docker 実...

HTML チュートリアル: 画像のサイズ、配置、間隔、境界線の属性を変更する方法

画像タグ: <img> ページに画像を挿入するには、「src」属性を持つ「img」タグを...

Vueでクラススタイルを使用する方法の詳細

目次1. ブール2. 表現3. マルチクラスパッケージ4. v-bind でクラス class を直...

tomcat8の最新のLinuxインストールプロセス

ダウンロード参考:ダウンロードするコアパッケージを選択してくださいダウンロード後、ファイルをサーバー...

Kali Linux インストール VMware ツールのインストール プロセスと VM インストール vmtools ボタン グレー

Xiaobai は vmtools のインストールを記録します。 1. 意義と機能: VMWARE ...