微信小程序報(bào)錯(cuò):does?not?have?a?method?"xxxx"?to?handle?event?"tap"的解決方案
今天在開發(fā)一個(gè)小功能,copy了之前寫的代碼,但是在實(shí)現(xiàn)功能時(shí),出現(xiàn)了如下問題:
先在這簡(jiǎn)單總結(jié)一下解決方案:
- 在調(diào)用方法時(shí),在
" "
中前后多加了空格; - 在 js 中沒有定義該方法;
- 在 js 中方法定義的位置可能不對(duì),比如放在了 data 中;
- 組件化開發(fā)中使用
methods
把方法包起來; - 取消勾選 “將 JS 編譯成 ES5”;
- 勾選“啟用代碼自動(dòng)熱重載” 選項(xiàng);
- 修改 “調(diào)試基礎(chǔ)庫” 版本;
如果我們對(duì)自己的代碼編寫能力比較自信,可以直接看一下 5、6、7 解決方案。
問題描述
編譯錯(cuò)誤提示如下:
VM67:1 Component "pages/my/index" does not have a method " onJumpToHome" to handle event "tap".
上面提示的意思就是說:在配置中找不到 onJumpToHome
這個(gè)方法,所以在點(diǎn)擊響應(yīng)時(shí),會(huì)有警告,但是程序運(yùn)行不會(huì)報(bào)錯(cuò)。這也是小白在學(xué)習(xí)小程序時(shí)經(jīng)常容易犯的錯(cuò)誤,今天竟然把一個(gè)開發(fā)了多個(gè)小程序的我給呆住了,現(xiàn)在就來分析一下產(chǎn)生這個(gè)問題的原因有哪些。
問題分析
以下幾個(gè)原因可以逐個(gè)排查:
1.在調(diào)用方法時(shí),在" "
中前后多加了空格
解決:這個(gè)問題可能是因?yàn)榇笠饣蛘吡?xí)慣導(dǎo)致的,在代碼編寫中,方法的前面多可能加了一個(gè)空格,檢查一下刪除前面的空格即可。
<view bindtap=" onJumpToHome">xxx</view>
2.在 js 中沒有定義該方法
解決:這個(gè)問題太low了,相信大家應(yīng)該不會(huì)犯吧,有的話當(dāng)我沒說。
3.在 js 中方法定義的位置可能不對(duì),比如放在了 data 中
解決:這個(gè)問題也是很low的問題了,一般沒人會(huì)犯,除非有很多 data 的時(shí)候,可能眼花看錯(cuò)行了,把方法提出來放到data后面就好了。
4.在不使用組件,直接在本頁的 js 定義中,不需要增加 methods
把方法包起來。也許新版本里沒有這一層了。直接寫方法就可以了。如果使用組件再加 methods
層。本人從他人的有組件的案例中學(xué)的代碼寫入沒有組件的頁面里,就出現(xiàn)了找不到對(duì)應(yīng)方法的問題。
解決:這個(gè)是涉及組件開發(fā)的使用方式,大家可以看一下例子,具體不多說了。
比如:
5.取消勾選 “將 JS 編譯成 ES5”
解決:在工具 1.05.2106091 版本之后,原有的ES6 轉(zhuǎn) ES5 和 增強(qiáng)編譯 選項(xiàng)統(tǒng)一合并為將 JS 代碼編譯成 ES5,此功能和原有的增強(qiáng)編譯邏輯一致。但是與開發(fā)工具的版本也有很大的關(guān)系。
這個(gè)問題詳見:代碼編譯-將 JS 代碼編譯成 ES5
6.勾選“啟用代碼自動(dòng)熱重載” 選項(xiàng)
解決:新版開發(fā)者工具已實(shí)現(xiàn)熱重載功能,代碼修改實(shí)時(shí)更新,不需要重新編譯。有的時(shí)候代碼更新了,沒有重新編輯代碼會(huì)不生效,所以可以考慮勾選該選項(xiàng)。
7.修改 “調(diào)試基礎(chǔ)庫” 版本
解決:這個(gè)基礎(chǔ)庫的版本還在不斷升級(jí),開發(fā)工具的問題也有很多,所以,這個(gè)問題還請(qǐng)大家自求多福,可以試探性地選擇,不過,基礎(chǔ)庫的版本對(duì)線上代碼是沒有影響的。
總結(jié)
在小程序開發(fā)中,出現(xiàn) does not have a method ..to ..event 'tap'
的問題,我網(wǎng)上查了一下有幾種解決方案,但是都不能解決我的問題,當(dāng)我們對(duì)自己的代碼比較信任時(shí),可以考慮從我們的開發(fā)工具入手。
如果其他小伙伴有更好的解決方案,可以在下面留言哦,這樣類似的問題可以在一個(gè)問題中得以解決,避免到處查找浪費(fèi)時(shí)間。
到此這篇關(guān)于微信小程序報(bào)錯(cuò):does not have a method "xxxx" to handle event "tap"的解決方案的文章就介紹到這了,更多相關(guān)小程序報(bào)錯(cuò)does not have a method內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實(shí)現(xiàn)tab切換的兩個(gè)實(shí)例
這篇文章主要介紹了javascript實(shí)現(xiàn)tab切換的兩個(gè)實(shí)例,是對(duì)之前方法原理的進(jìn)一步延伸,需要深入了解的同學(xué)可以參考一下2015-11-11詳解XMLHttpRequest(二)響應(yīng)屬性、二進(jìn)制數(shù)據(jù)、監(jiān)測(cè)上傳下載進(jìn)度
這篇文章主要為大家詳細(xì)介紹了XMLHttpRequest響應(yīng)屬性、二進(jìn)制數(shù)據(jù)、監(jiān)測(cè)上傳下載進(jìn)度,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09javascript判斷數(shù)組內(nèi)是否重復(fù)的方法
這篇文章主要介紹了javascript判斷數(shù)組內(nèi)是否重復(fù)的方法,涉及javascript針對(duì)數(shù)組的相關(guān)操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04JavaScript 對(duì)象合并的幾種方法小結(jié)
本文主要介紹了JavaScript 對(duì)象合并的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02js實(shí)現(xiàn)隨機(jī)數(shù)字字母驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了js隨機(jī)驗(yàn)證碼的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06JavaScript實(shí)現(xiàn)省份城市的三級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)省份城市的三級(jí)聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02分享50個(gè)超級(jí)有用的JavaScript單行代碼(推薦!)
JavaScript是一種腳本語言,是直接在瀏覽器運(yùn)行的,下面這篇文章主要給大家介紹了50個(gè)超級(jí)有用的JavaScript單行代碼的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01