官术网_书友最值得收藏!

2.4 事件處理

1.基本使用

Taro元素的事件處理和DOM元素的很相似。但是有一點語法上的不同,Taro的事件綁定屬性均以on開頭且為駝峰式命名,事件屬性的值為函數。下面做一個簡單對比。

HTML為元素綁定事件的寫法,示例如下:

Taro為組件綁定事件的寫法,示例如下:

在Taro中,事件處理函數的參數中,同樣可以獲取事件對象,通過事件對象可以進行事件操作,如阻止事件冒泡,代碼示例如下:

2.為事件處理函數傳參

假如在一個列表中,列表的每一項都有一個“刪除”按鈕,單擊“刪除”按鈕刪除對應的數據:

本例使用函數的bind方法解決this指向問題,當然我們還可以使用箭頭函數:

或者使用函數柯里化思想:

上例中,單擊View組件會調用this.handleClick(current),該函數調用后會返回一個新的函數,在這個函數中可以訪問current值,同時能保證this指向的是當前Title組件。

3.自定義事件

有時存在這樣的需求,期望組件內部的狀態(tài)變化或操作能夠傳達給上層,這種需求通常被稱為父子組件之間的通信,父組件期望子組件某個事件觸發(fā)時,父組件執(zhí)行某些特定操作。需要注意的是,自定義事件的屬性名一定要以on開頭,并采用駝峰式命名法,示例如下:

主站蜘蛛池模板: 北京市| 郯城县| 东兰县| 海安县| 贡觉县| 巩留县| 乐清市| 平邑县| 缙云县| 凌海市| 镶黄旗| 阜阳市| 来安县| 富川| 琼中| 天峨县| 济南市| 基隆市| 探索| 新源县| 高州市| 政和县| 宁夏| 富平县| 巫山县| 衡山县| 衢州市| 平利县| 镇安县| 济宁市| 阿合奇县| 桃源县| 景宁| 始兴县| 太保市| 界首市| 光山县| 宜兰市| 井陉县| 来凤县| 永泰县|