簡(jiǎn)潔企業(yè)網(wǎng)站源碼專注于seo顧問(wèn)
文章目錄
- 前言
- 實(shí)習(xí)日志經(jīng)驗(yàn)總結(jié)
前言
自己之前實(shí)習(xí)過(guò)程中遇到的問(wèn)題以及相應(yīng)的解決過(guò)程,我都有記錄形成比較凌亂的實(shí)習(xí)日志。故想在整個(gè)實(shí)習(xí)日志的基礎(chǔ)上,提煉一些技術(shù)知識(shí)點(diǎn)或者是解決問(wèn)題的思路??紤]到實(shí)習(xí)項(xiàng)目的不方便公開(kāi)性,所以會(huì)隱去相關(guān)的業(yè)務(wù)信息。內(nèi)容比較雜,但是想記錄下方便以后回顧,也希望對(duì)大家有幫助。每期整理十條,這是第一期。
實(shí)習(xí)日志經(jīng)驗(yàn)總結(jié)
1、login頁(yè)面如何設(shè)置不受app.vue中導(dǎo)航欄樣式的影響?
導(dǎo)航欄作為系統(tǒng)的通用組件,我并不想讓其顯示在登陸頁(yè)面中,因此可以按照以下方法實(shí)現(xiàn)
(1)將通用組件如導(dǎo)航欄等和放在一起
app.vue
<div><navigation v-if="!$route.meta.showNav"></navigation><router-view />
</div>
(2)其中route.meta.showNav是我加入路由中的信息
path: '/',component: () => import('../pages/index.vue')},{path: '/login',name: 'login',component: () => import('../components/login.vue'),meta:{showNav: true}},{path: '/receive',name: 'receive',component: () => import('../pages/receive.vue')}
可以看到在登陸的路由中加入了一個(gè)meta屬性,由于其他組件未定義此showNav時(shí),$route.meta.showNav的值為"undefined"即為false,因此只需在登陸中加入此屬性并設(shè)置為true即可。這樣在登陸頁(yè)面時(shí),導(dǎo)航欄不被顯示。
個(gè)人感覺(jué)在很多業(yè)務(wù)場(chǎng)景實(shí)現(xiàn)中,巧用各種路由的信息能省事很多!
2、前后端傳輸參數(shù)的時(shí)候url編碼的問(wèn)題,當(dāng)傳輸?shù)膮?shù)是中文的時(shí)候,可能需要先編碼在解碼
一個(gè)可行的實(shí)際例子如下:
前端:(注意不能在axios請(qǐng)求里面去寫(xiě)),需要寫(xiě)在外面。前端vue用的是
let str=encodeURLComponent(“某某某”);
后端接受解碼則是
String xxx=URLDecoder.decode((String)jsonObject.get(“xxx”),”UTF-8”);
3、Element UI下拉列表el-option中的key、value、label含義
- key:相當(dāng)于身份令牌,唯一的令牌,防止出錯(cuò)。這個(gè)key沒(méi)有也行,但是保險(xiǎn)起見(jiàn)最好加上。因?yàn)檫@個(gè)key作為 value 唯一標(biāo)識(shí)的鍵名,綁定值為對(duì)象類型時(shí)必填。
- label :這是給用戶看的,當(dāng)點(diǎn)擊下拉菜單時(shí),會(huì)出來(lái)選項(xiàng),用戶看到的選項(xiàng)就是這個(gè)
- value :這是你點(diǎn)擊某個(gè)label(option)之后,將對(duì)應(yīng)的值給v-model綁定的值model
4、如果項(xiàng)目中引用了第三方j(luò)ar包,則項(xiàng)目中運(yùn)行時(shí)環(huán)境的jar包版本則是不低于第三方j(luò)ar包的版本
5、微服務(wù)框架項(xiàng)目中可以不用一個(gè)個(gè)啟動(dòng),可以通過(guò)配置一鍵啟動(dòng)。
6、按快捷鍵Ctrl+Alt+L鍵即可快速對(duì)代碼進(jìn)行格式化。
對(duì)jS文件和sql文件管用。
兩種js文件:一種容易看懂,一種非常排版很亂,兩個(gè)圖標(biāo)都不一樣,但是其實(shí)本質(zhì)都是一樣的,格式化排版后就是一樣的了,圖標(biāo)也會(huì)變化。
7、xxx.js和xxx.min.js是啥關(guān)系
xxx.js 和 xxx.min.js 是同一個(gè) JavaScript 文件的兩個(gè)不同版本,通常用于生產(chǎn)環(huán)境和開(kāi)發(fā)環(huán)境之間的區(qū)分。它們之間的關(guān)系如下:
xxx.js:這是 JavaScript 文件的源代碼版本,通常包含可讀性更高的源代碼,包括注釋和格式化的代碼。這個(gè)文件版本通常用于開(kāi)發(fā)和調(diào)試,因?yàn)樗子陂喿x和理解。
xxx.min.js:這是 JavaScript 文件的壓縮版本,通常通過(guò)刪除注釋、縮減空白和壓縮變量名等方式來(lái)減小文件大小。這個(gè)文件版本通常用于生產(chǎn)環(huán)境,因?yàn)樗奈募笮「?#xff0c;可以加快頁(yè)面加載速度,減少帶寬消耗。
通常,開(kāi)發(fā)過(guò)程中會(huì)使用 xxx.js 版本,以方便調(diào)試和開(kāi)發(fā),因?yàn)樗拇a易于閱讀和理解。而在部署到生產(chǎn)環(huán)境時(shí),為了提高性能和減小文件大小,會(huì)使用 xxx.min.js 版本,以減少加載時(shí)間和資源消耗。
這兩個(gè)版本通常都是從相同的源代碼生成的,只是在構(gòu)建過(guò)程中應(yīng)用了不同的處理步驟,以滿足不同環(huán)境的需求。通常,壓縮工具(如UglifyJS、Terser等)用于生成 .min.js 版本。
8、不定參數(shù)的用法
在一些業(yè)務(wù)場(chǎng)景中,我們可能需要向js函數(shù)傳參一個(gè)或多個(gè)參數(shù)(不定),這個(gè)時(shí)候可以用函數(shù)參數(shù)中的不定參數(shù)實(shí)現(xiàn),然后再函數(shù)內(nèi)部進(jìn)行業(yè)務(wù)處理。
一個(gè)可能的實(shí)現(xiàn)如下:
function checkX(...args){for(const arg of args){if(arg=="target"){return true;}}return false;
}
9、src=“sources/js/mainframe.dl.js?t=20211114”>
在一些年齡比較大的項(xiàng)目,可能會(huì)出現(xiàn)上述這種js的用法。其中.sl用于擴(kuò)展表示該js的功能,后面的t則是時(shí)間戳,確保瀏覽器每次請(qǐng)求文件時(shí)都會(huì)獲取到最新的版本,這樣的時(shí)間戳通常由構(gòu)建工具或部署腳本自動(dòng)生成,并且可以在每次發(fā)布新版本時(shí)更新,以確保瀏覽器能夠獲取到最新的文件。
10、退出登錄的時(shí)候一定要sessiongstore去掉