學習 Vue.js 遇到的那些坑
排名不分先后
最近好像都是只發(fā)了一些生活類,吐槽的一些 blog,不更新點技術相關的 可能有人會覺得 這家伙肯定又在偷懶了。
那么 好 我要開始裝逼了
類空指向
就是類似于空指針的一種錯誤方式 不會在 console 上報錯 非常難找的問題
resp.data.user.avatar
//如果這個user是null的話 這么調(diào)用不會報錯 也不會向下執(zhí)行 非???
//如果你想判斷這個avatar的話 要這么做
if(resp.data.user && resp.data.user.avatar){
//do...
}
ES6 箭頭函數(shù)
箭頭函數(shù)和非箭頭函數(shù)也是有很大區(qū)別的
//普通匿名函數(shù)寫法
api()
.then(function(resp){
this.count()
//注意這個this 不是能正常使用的 count會是個undefined
})
//ES6 箭頭函數(shù)
api()
.then(resp => {
this.count()
//這里沒毛病
})
vuetify
這是一個基于 Google Material 設計語言的 UI 框架,可以在 Vue.js 運行。
只是安裝方式有點特殊,并且它的插件安裝方式也很特殊。
例如 vuetify 的 dialog
import VuetifyDialog from 'vuetify-dialog'
import vuetify from './plugins/vuetify';
Vue.use(VuetifyDialog, {
context: {
vuetify
}
})
這就導致你寫 UI 的時候 要面向 Google 編程。(雖說其他后端語言也差不多 笑)
vue-cli
如果你是要新創(chuàng)建一個項目,并且這個項目規(guī)模不是特別大。
我非常推薦你使用 vue-cli 創(chuàng)建,說簡單點兒 這會提升 b 格。
廢話少說 上圖

vue create your_project_name vue ui
vue ui 會打開一個可視化頁面 像是上圖那樣。
然后在里面導入由 vue-cli 創(chuàng)建的項目就可以和上圖一樣了 :)
異步和同步
其實之前有個非常蠢的想法。
就是在用戶輸完表單之后,立即和服務器進行驗證,然后將結(jié)果刷新到 UI 上。
但是這個刷新 UI 需要一個同步操作。
我就一個勁的折騰怎么去搞定將 axios 的異步操作變成同步。
如果是之前的 jQuery 就非常簡單么 只需要將里面的 aysnc 屬性改掉就可以了。
但是你每次發(fā)請求 瀏覽器都會在 console 上提示 不推薦 XHR 同步請求。
為啥呢,因為瀏覽器里面頁面是單線程的,如果你的請求是同步的,那么就會導致每個請求都會讓頁面卡住一定的時間。
所以我最后還是改成了逐步驗證的方式 讓所有的請求都是異步操作的。
運行和部署
如果你本地開發(fā)
運行 serve(有些項目是 dev) 會開放一個端口號 讓你訪問用戶界面,并進行接近實時的 UI 調(diào)整。
如果你是要部署到線上 需要先執(zhí)行 build 會在輸出目錄里面生成靜態(tài)文件。
再把這些文件部署到服務器上 像是:
- nginx
- caddy
這里我非常推薦 caddy,它是一個基于 golang 開發(fā)的服務器,部署輕量化,并且?guī)в泄芾?api,非常良好的支持 Http2,并且 支持 http3。
TIPS
這里只記錄一些剛開始玩的項目,在后面的開發(fā)里,還會遇到更多問題。
例如頁面之間的刷新,等等等等。
所以很快就會有下一章的。
希望能幫到你。
以上就是學習 Vue.js 遇到的那些坑的詳細內(nèi)容,更多關于學習 Vue.js 遇到的坑的資料請關注腳本之家其它相關文章!
相關文章
Vue3如何通過ESLint校驗代碼是否符合規(guī)范詳解
ESLint可以靈活設置規(guī)則,也發(fā)布了很多公開的規(guī)則集,下面這篇文章主要給大家介紹了關于Vue3如何通過ESLint校驗代碼是否符合規(guī)范的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-07-07
vue使用tracking實現(xiàn)人臉識別/人臉偵測完整代碼
作為一個AI模型,人臉識別涉及到多個技術領域,下面這篇文章主要給大家介紹了關于vue使用tracking實現(xiàn)人臉識別/人臉偵測的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-09-09

