[TOC]
## 1.bindtap
~~~
<button bindtap='ClickNmae'>點擊觸發事件</button>
~~~
eg: 兩個頁面之間的跳轉
創建好的兩個頁面分別為index和welcome,在welcome有個控件button,通過點擊button可以跳轉到index
~~~
<button bindtap='handleClick'>跳轉到index</button>
// 在welcome的js下寫handleClick方法
handleClick(){
// navigateTo()跳轉到應用內的某個頁面,還可以再返回本頁面
// redirectTo()關閉當前頁面跳轉到應用內的某個頁面
wx.navigateTo({
url: '/pages/index/index'
});
}
~~~
## 2.catchtap
使用方法與bindtap一樣
## 3.兩者之間的區別
> 冒泡事件:點擊子組件時,父組件的事件也會觸發
* **bindtap事件綁定不會阻止冒泡事件向上冒泡
,catchtap事件綁定可以阻止冒泡事件向上冒泡**
## 4.target與currentTarget
* target:觸發事件的元素。currentTarget:事件綁定的元素。
* currentTarget始終是監聽事件者,而target是事件的真正發出者
### 1.小程序經典冒泡案例:在index.wxml里寫parent和child
~~~
<!-- "pages/index/index.js" -->
<view class="parent" catchtap="click" data-title="點擊了parent">
<view class="child" bindtap="click" data-title="點擊了child"></view>
</view>
~~~
在index.js里定義點擊事件輸出值類型為target時
~~~
Page({
click(event){
console.log(event.target.dataset.title);
/* 點擊父元素時輸出:點擊了parent;點擊子元素時輸出:點擊了child(輸出了兩次) */
/* 分析:因為target為觸發事件時的元素,而點擊child的同時parent點擊事件內觸發事件的元素為child,所以這里會輸出兩次child */
}
})
~~~
在index.js里定義點擊事件輸出值類型為currentTarget時
~~~
Page({
click(event){
console.log(event.currentTarget.dataset.title);
/* 點擊父元素時輸出:點擊了parent;點擊子元素時輸出:點擊了child 點擊了parent */
/* 分析:因為currentTarget為事件綁定的元素,而點擊child的同時parent點擊事件綁定的是其本身,所以這里會輸出child和parent */
}
})
~~~
### 2.因為點擊事件冒泡事件為向上發生,而catchtap事件會阻止冒泡事件向上發生,所以本例中當子元素綁定catchtap事件時點擊子元素都不會觸發父元素事件
~~~
<!-- "pages/index/index.js" -->
<view class="parent" bindtap="click" data-title="點擊了parent">
<view class="child" catchtap="click" data-title="點擊了child"></view>
</view>
~~~
在index.js里定義點擊事件輸出值類型為target時
~~~
Page({
click(event){
console.log(event.target.dataset.title);
/* 點擊父元素時輸出:點擊了parent;點擊子元素時輸出:點擊了child */
}
})
~~~
在index.js里定義點擊事件輸出值類型為currentTarget時
~~~
Page({
click(event){
console.log(event.currentTarget.dataset.title);
/* 點擊父元素時輸出:點擊了parent;點擊子元素時輸出:點擊了child*/
}
})
~~~
- 小程序環境配置
- 1.生命周期
- 頁面生命周期
- 組件生命周期
- 2.小程序組件
- 點擊事件bindtap|catchtap
- swiper輪播
- wx:for循環
- 播放音樂
- map
- tabBar底部頁面切換
- scroll-view可滾動視圖區域。
- web-view裝載顯示網頁
- priviewImage新頁面預覽照片
- chooseImage本地選擇照片
- onReachBottom上拉刷新,加載等待條
- setStorage緩存
- showToast彈出提示框
- slot父組件wxml傳遞到子組件
- form表單
- 小程序.wxs,方法在.wxml調用
- 3.組件前身:模板、模板傳參
- 4.自定義組件、組件傳參|傳wxss|wxml代碼
- 5.小程序正則
- 6.小程序頁面跳轉
- 7.open-type 微信開放功能
- 實例
- 1.第一個實例 hello world
- 2.第二個實例豆瓣電影數據渲染
- 豆瓣1.0基本版
- 豆瓣2.0升級版
- 豆瓣3.0豪華版
- 3.第三個實例多接口在同一頁面使用
- HTTP封裝
- 基礎報錯提示,類式封裝
- Promise回調,類式封裝