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

2.4 事件處理

1.基本使用

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

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

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

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

2.為事件處理函數傳參

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

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

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

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

3.自定義事件

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

主站蜘蛛池模板: 临高县| 揭阳市| 锡林浩特市| 景德镇市| 合水县| 清水县| 中卫市| 五指山市| 镇远县| 清涧县| 金寨县| 泰顺县| 安龙县| 海林市| 嘉祥县| 肇庆市| 永和县| 锡林郭勒盟| 哈巴河县| 万年县| 巴马| 汨罗市| 司法| 兴隆县| 会昌县| 来安县| 彝良县| 仁怀市| 同仁县| 梨树县| 济源市| 襄城县| 礼泉县| 博野县| 松江区| 兴城市| 岳池县| 千阳县| 广丰县| 博湖县| 门头沟区|