最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue?button的@click方法無效鉤子函數(shù)沒有執(zhí)行問題

 更新時間:2022年03月28日 14:30:14   作者:SnailsRocket  
這篇文章主要介紹了vue?button的@click方法無效鉤子函數(shù)沒有執(zhí)行問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Vue項目中使用button綁定click事件

事件無法觸發(fā)methods中的方法解決辦法

事故還原

小胖做完公司的項目,老大看著小胖疲憊的臉龐,有點心疼小胖,就給小胖放了三天假,沒有給小胖新的需求。小胖平常主要是寫的后端,但是最近跟小順子有點聊技術(shù),小順子經(jīng)常把Vue掛在嘴邊,小胖有點不服氣,正好最近也有時間,打算利用這三天把Vue入個門,但是剛開始就把小胖給難住了,小胖寫了一個button,并綁定了click點擊事件,但是發(fā)現(xiàn)無法觸發(fā)methods中的but方法,異常提示信息大致的意思是but_ajax未定義。

瀏覽器console顯示異常信息

but_ajax is not defined
    at HTMLButtonElement.onclick

出了bug但是小胖的內(nèi)心毫無波動,腦袋里想起了公司架構(gòu)師老王經(jīng)常說的一句話,遇到bug不要慌,解bug才是程序員最快的成長方式(但是下面遇到了三個基礎(chǔ)性的錯誤小胖還是有點尷尬的)

端口綁定異常,這個異常說明就是端口已經(jīng)被綁定了(后端是我之前寫好的,我準備將端口改成4200,但是4200已經(jīng)在運行angular項目)

java.net.BindException: Address already in use: bind

跨域問題

這個項目前端的路徑是localhsot:63342 ,然后后端的路徑的localhost:28089 ,前端發(fā)送ajax的時候url路徑需要帶上接口,這個是跨域必須的,然后后端需要配置跨域信息(添加注解@CrossOrigin(origin={“前端的url”}),或者編寫一個config類)

vue button (特別注意) 犯了一個很沙雕的錯誤,浪費一個小時

vue 中button 的點擊事件

<button v-on:click="but_click">發(fā)送請求</button>

js 中 button點擊事件

<button onclick="but_click">發(fā)送請求</button>

剛開始小胖犯了一個很沙雕的錯誤,在vue的methods中定義一個點擊事件的方法,但是在 中 使用的是js的onclick事件,所以就出現(xiàn)找不到method,js的點擊事件對應(yīng)的方法,直接寫在script中,放在methods中不會被識別

<script>
?? ?but_ajax = function() {
? ? $.get(url).then(response => {
? ? ? ? this.tableData = response;
? ? })
}
</script>

userData is not defined

在 data中定義了 userData ,但是出現(xiàn)異常如下,異常信息說明userData沒有定義,但是我們明明在data中定義過了,小胖我思前想后,發(fā)現(xiàn)我又寫了一個沙雕的bug,userData是vue對象中的data里面定義的,要想使用,必須使用this關(guān)鍵字,this指代的是vue對象。

Uncaught ReferenceError: userData is not defined

Vue的第四個bug 鉤子函數(shù)(mounted/created)

小胖有一個想法,就是在頁面加載的時候,直接發(fā)送ajax請求,然后將數(shù)據(jù)顯示在table中(table 是使用的el-table ElementUI的組件),小胖想著鉤子函數(shù)也是一個method,所以想當然的把created(mounted) 放在methods里面,結(jié)果發(fā)現(xiàn)沒有效果,這個時候小胖想肯定是鉤子函數(shù)沒有執(zhí)行,應(yīng)該是沒有被瀏覽器識別,小胖就直接懷疑鉤子函數(shù)是不是放錯位置了,小胖試著將鉤子函數(shù)(mounted/created)跟el、data、methods放在同一級,然后重新啟動項目,效果出來了。

Vue的第五個bug

鉤子函數(shù)發(fā)送ajax獲取數(shù)據(jù),放回到表單中,這里有一個明顯的延時,數(shù)據(jù)要過將近1s才顯示,出現(xiàn)過兩次,后面基本上在200ms左右,這里因為我的element.css elementui.js以及vue.js都是在放在本地,不是去請求網(wǎng)絡(luò),所以速度稍微快一點。(如果面試問道怎么優(yōu)化頁面響應(yīng)速度的話,可以說將js,css文件使用min版的,然后使用離線文件,(一般企業(yè)開發(fā),開發(fā)階段可能使用網(wǎng)絡(luò)文件,但是生產(chǎn)環(huán)境都是使用離線文件))

小結(jié):寫一個簡單的vue 按鈕,出現(xiàn)了跨域、vue與js的點擊事件混用、vue中data的調(diào)用,這三個bug,發(fā)現(xiàn)對一些基礎(chǔ)知識的理解差很多,平常還是需要多敲,多敲確實可以快速成長,但是需要將基礎(chǔ)的東西過一遍再去敲,去琢磨才可以事半功倍,看似簡單的需求,居然花了兩個小時找bug,至此Vue算是邁進了門,但是后面的路還有很長。

vue @click失效問題

鑒于我這只豬花了半天時間重寫代碼

所以寫這篇隨筆

紀念我白白逝去半天時光

貼代碼(直接截圖)

怎么看都沒有問題,我這只豬一遍一遍認認真真敲了好多遍

最后找到了問題所在:

頁面中使用了better-scroll,自動禁用了click事件,其實之前好像沒有這種情況,后續(xù)會研究一下的

解決方法

給加個click: true就好了

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決vite項目Uncaught Syntaxerror:Unexpected token>vue項目上線白屏問題

    解決vite項目Uncaught Syntaxerror:Unexpected token>vue項

    這篇文章主要介紹了解決vite項目Uncaught Syntaxerror:Unexpected token>vue項目上線白屏問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • karma+webpack搭建vue單元測試環(huán)境的方法示例

    karma+webpack搭建vue單元測試環(huán)境的方法示例

    本篇文章主要介紹了karma+webpack搭建vue單元測試環(huán)境的方法示例,這次搭建的測試環(huán)境和開發(fā)環(huán)境隔離,所以理論上適用所有使用vue的開發(fā)環(huán)境。感興趣的小伙伴們可以參考一下
    2018-05-05
  • Vue實現(xiàn)登錄以及登出詳解

    Vue實現(xiàn)登錄以及登出詳解

    本篇文章主要介紹了vue實現(xiàn)登陸登出的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09
  • Vue監(jiān)聽頁面變化的實現(xiàn)方法小結(jié)

    Vue監(jiān)聽頁面變化的實現(xiàn)方法小結(jié)

    在Vue.js應(yīng)用開發(fā)過程中,監(jiān)聽頁面變化是一個非常常見的需求,無論是為了響應(yīng)用戶交互、優(yōu)化性能,還是實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯,監(jiān)聽頁面變化的能力都是不可或缺的,本文將詳細介紹如何在Vue項目中實現(xiàn)頁面變化監(jiān)聽,需要的朋友可以參考下
    2024-10-10
  • VUE : vue-cli中去掉路由中的井號#操作

    VUE : vue-cli中去掉路由中的井號#操作

    這篇文章主要介紹了VUE : vue-cli中去掉路由中的井號#操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue3 自定義指令詳情

    vue3 自定義指令詳情

    這篇文章主要介紹了 vue3 自定義指令詳情,自定義指令分為全局和局部兩種類型,大家并不陌生。今天我們就講講在 vue3 中,自定義指令定義、使用以及鉤子函數(shù)都有哪些變化?,需要的朋友可以參考一下
    2021-11-11
  • vue項目如何引入公共頭部底部

    vue項目如何引入公共頭部底部

    這篇文章主要介紹了vue項目如何引入公共頭部底部問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue.js學習筆記:如何加載本地json文件

    vue.js學習筆記:如何加載本地json文件

    這篇文章主要介紹了vue.js學習筆記:如何加載本地json文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。
    2017-01-01
  • vue2中Print.js的使用超詳細講解(pdf、html、json、image)

    vue2中Print.js的使用超詳細講解(pdf、html、json、image)

    項目中有用到打印功能,網(wǎng)上就找了print.js,下面這篇文章主要給大家介紹了關(guān)于vue2中Print.js使用(pdf、html、json、image)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • 基于前端VUE+ElementUI實現(xiàn)table行上移或下移功能(支持跨頁移動)

    基于前端VUE+ElementUI實現(xiàn)table行上移或下移功能(支持跨頁移動)

    有時候需要前端實現(xiàn)上移和下移功能,下面這篇文章主要給大家介紹了關(guān)于如何基于前端VUE+ElementUI實現(xiàn)table行上移或下移(支持跨頁移動)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07

最新評論

凤台县| 永寿县| 电白县| 香格里拉县| 榆树市| 延津县| 东兰县| 高阳县| 阿拉善左旗| 凤山县| 方城县| 桐庐县| 和田市| 申扎县| 渝中区| 开原市| 宜城市| 剑河县| 霍城县| 芮城县| 杭州市| 库尔勒市| 金寨县| 宿迁市| 始兴县| 佛学| 嵩明县| 林州市| 华安县| 光泽县| 南陵县| 凯里市| 新化县| 溧水县| 巴林右旗| 潞城市| 个旧市| 永城市| 银川市| 大埔县| 牟定县|