mpvue&ウィジェットでのイベント処理


イベントバインド


使い方は基本的に同じです.ただし、ウィジェットではbindtapにコンパイルされます

トラップバブル

 : .wxml
<view 
  id="wrapper"
  bind:tap="bind1"
  capture-bind:tap="cbind1"
  style="background:red;color:white;text-align:center;padding:10px;"
>
  <view
    id="inner"
    bind:tap="bind2"
    capture-bind:tap="cbind2"
  >
     
  view>
view>

//  : .js
Page({
  bind1(e) {
    console.log('wrapper ')
  },
  bind2(e) {
    console.log('inner ')
  },
  cbind1(e) {
    console.log('wrapper ')
  },
  cbind2(e) {
    console.log('inner ')
  }
})

  • mpvueでは、バブルイベントがサポートされています.取得イベントサンプルコード略
  • はサポートされていません.
  • ウィジェットでは、発泡および捕獲
  • をサポートできます.

    イベントブロック

  • mpvue
    2つの方法:catshapを使用するか、イベント修飾子を使用する.stop
    
    <p @click="bind1">
    <button
    @click="bind2" catchtap >

    button>
    p>

    <p @click="bind1">
    <button @click.stop="bind2" >

    button>
    p>
  • xcxキャプチャ:capture-catchを使用してキャプチャブロックバブルを実現:catchを使用してバブルブロック
  • を実現

    イベントオブジェクト

  • ウィジェットはeventパラメータの
  • にあります.
  • mpvueイベント応答時にeventパラメータが入力、コンポーネント情報、パラメータ情報、タッチポイント情報
  • が含まれる.

    イベントインラインパラメータ

  • ウィジェットは主にdataパラメータとmarkパラメータ
  • である.
  • mpvueバインドイベントの場合、パラメータを直接入力できます.あるいは匿名関数です.

  • サポートされているイベントのタイプ

  • ウィジェット
  • touchstart
  • touchmove
  • touchend

  • mpvue // event type web event
    var eventTypeMap = {
    tap: ['tap', 'click'],
    touchstart: ['touchstart'],
    touchmove: ['touchmove'],
    touchcancel: ['touchcancel'],
    touchend: ['touchend'],
    longtap: ['longtap'],
    input: ['input'],
    blur: ['change', 'blur'],
    submit: ['submit'],
    focus: ['focus'],
    scrolltoupper: ['scrolltoupper'],
    scrolltolower: ['scrolltolower'],
    scroll: ['scroll']
    };

  • イベントエージェント

  • ウィジェット:wxsイベントバインド:バインド時に1ページレベルのinstanceパラメータ
  • が複数入力されます.
  • mpvue:イベントバインドは、イベントエージェントによって実現される.
    
    <button @click="bind"> button>

    <button
    bindtap="handleProxy"
    data-eventid="{{'0'}}"
    data-comkey="{{$k}}"
    class="_button data-v-65f59a68"
    >

    button>
    :https://www.imooc.com/read/45/article/807
    `泡立ち:p ulli a例えば一番奥のaにclickクリックイベントを加えると、このイベントは次々と外へ実行され、実行順序a li ulpこれが泡立ち
  • です.
    イベント依頼はイベントエージェントとも呼ばれる:上記の例のイベントはp上で実行イベント`.