<button onclick = { this.btn( data ) }>Btn</button>// 這樣為什么會直接運行這個函數btn = ( data ) => { console.log( data ) }// 這樣就會正常執行btn = ( data ) => () => { console.log( data ) }// 然而 當不傳參數的時候<button onclick = { this.btn }>Btn</button>// 這樣就是正常的btn = ( ) => { console.log( 111 ) }* 如果大佬們有時間的話可以幫我看一下這個么,https://mp.weixin.qq.com/s/rB...我是看了這個才知道這個綁定方法的,說我原來的綁定方法是錯誤的,但是我有點不明白這個綁定的函數為什么要這樣寫,我是個菜鳥,還希望有空的大佬能告訴我詳細一點想問一下大佬:1: btn = ( data ) => () => { console.log( data ) } 這個是個什么函數?2: 可不可以幫我解釋一下上邊的 demo !
1 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
一句話重點:事件綁定的 是函數,不是函數的執行。
// 事件綁定函數,正確btn = () => { console.log( 111 ) } <button onclick = { this.btn }>Btn</button>// 事件綁定函數的執行,錯誤btn = () => { console.log( 111 ) } <button onclick = { this.btn( data ) }>Btn</button>// btn函數執行也返回函數,事件綁定函數,正確btn = ( data ) => () => { console.log( data ) } <button onclick = { this.btn( data ) }>Btn</button>
添加回答
舉報
0/150
提交
取消