實習手記(2):前端菜鳥的摸魚與成長

在不斷的學習(摸魚)和實踐中,第二周也快要結束了,這周總體來說還是蠻不錯的比上周好很多(沒有那么拘謹?)。前面兩天一直在學習和摸魚之后就修改了幾個需求。這里記錄一下學習到的新知識、小技巧、小細節,順便再發表一下自己的小感想~

一、摸魚與學習

摸魚&感想

完善并提交上周需求修改:上周修沒有修改移動端的(缺乏實際經驗 之前也沒寫過移動端的),還是Q哥幫忙修改的(不得不表揚一下)。然后讓我提交,好吧我竟然還不太熟悉。

看知識框架&面試題:這個就不多說了,改需求的就是給公司干的,學習是自己得到的(嗯有道理)。

學習新知識與回顧:其實看這些我記不住太多,反正知道怎么去改組件的一些樣式還有怎么使用就好了。

  • Ant Design vue
  • Vue

收獲

  • 規范修改提交流程:記得安裝一下git插件。add--》commit 「提交的修改信息要規范:例如更新feat(編號):修改的內容」--》git push--》在jenkins上選擇對應的項目--》點擊build now等待構建完畢。
  • 移動端修改:通過v-if="ifMatched"和@media 關鍵字當當視口寬度小于或等于某一特定值時,媒體查詢內的樣式會被應用,以適應移動端。例如:
@screen-mobile-width: 768px; // 設定移動端的斷點寬度@media (max-width: @screen-mobile-width) {//要修改的樣式}

二、實踐中成長

實踐

(1)修改官網彈框遮罩層背景顏色:就是之前的彈框遮罩層顏色太黑了改了個顏色。

  • 這里要注意哪里用到了彈框AModal哪里就要修改,不要漏了。
  • 知識點小記 :deep是一個深度選擇器,接下來的樣式會穿透scoped的限制,去影響到子組件的元素。
:deep(.ant-modal-mask) {background-color: rgba(102, 102, 102, 0.4);
}//這里其實不用deep也可以// deep的使用// 這里子組件的:deep會穿透scoped邊界,并向下查找所有匹配.my-custom-class的選擇器,包括子組件內部的元素,所以就影響到了子組件內部的inner element。//ParentComponent.vue<template><ChildComponent class="my-custom-class" /></template><style scoped>.my-custom-class {color: red;}:deep(.my-custom-class) {color: blue;}</style>//ChildComponent.vue<template><div class="inner-element">I'm in the child component</div></template><style scoped>.inner-element {/* blue */}
</style>

(2)表單項樣式修改:修改了一個模特上傳表單的樣式。

  • 由于這里只需要給文字換一下樣式,就使用了一個插槽把文字拿出來單獨設置一個class,然后去修改樣式。
<template><AFormItem name="name"><template #label><span class="model-name">{{ xxx }}</span></template><AInput/></AFormItem>
</template>
<style scoped>.model-name {color: #ffffff99;font-weight: 400;font-size: 14px;}
</style>

(3)首頁banner修改:修改背景視頻、文字和按鈕的層級樣式,以及添加蒙層。

  • 知識點小記1:使用v-html="t('global_home_text')", v-html則將數據作為HTML代碼解析并渲染,所以不使用v-html識別不出來br換行。
  • 知識點小記2:絕對定位會脫離文檔流,要給父容器添加position:relative,讓子容器相對于父容器進行定位(子絕父相),不脫離文檔流。需要更多了解的是BFC。這里先不寫了后續寫了再更新。
  • 知識點小記3:設置不同的層級可以使用 z-index,但只對具有定位(position)的元素生效。
<body><div id="div1">Div 1</div><div id="div2">Div 2</div><div id="div3">Div 3</div>
</body>
<style>#div1 {position: absolute;z-index: 1; /* 層級最低 */}#div2 {position: absolute;z-index: 2; /* 中間層級 */}#div3 {position: absolute;z-index: 3; /* 層級最高 */}
</style>
  • 知識點小計4:需要判斷移動端和中英文,顯示相應的四個不同圖片。有兩個方法,一種是使用雙重三元運算符,另一種是使用映射表。
<template><div><img :src="imageSrc" /></div>
</template><script lang="ts" setup>import CnPc from '@assets/CnPc.png';import EnPc from '@assets/EnPc.png';import CnMobile from '@assets/CnMobile.png';import EnMobile from '@assets/EnMobile.png';const isMobile = ref(false);const isCN = ifCNLocale();// 第一種雙重三元運算符,外層先判斷是否移動端,內層判斷中英文。// 但是還是不要有這個了,雙重的話確實難以理解。。。// const imageSrc = isMobile ? (isCN ? CnMobile : EnMobile) : (isCN ? CnPc : EnPc);// 第二種映射const imageSrcMap = {['pc']: {'zh-CN': CnPc,en: EnPc,},['mobile']: {'zh-CN': CnMobile,en: EnMobile,},};const imageSrc = ref('');onMounted(() => {isMobile.value = matchMobile();imageSrc.value = imageSrcMap[isMobile.value ? 'mobile' : 'pc'][isCN ? 'zh-CN' : 'en'];});
</script>

坑點

  • 坑點1:圖片無法顯示。(1)圖片也是一個模塊,需要import引入 (2)檢查有無拼寫錯誤。之后才發現是大小寫錯了(尷尬不敢說話)。一定要cv能復制就復制避免拼寫錯誤、英文大小寫問題。(3)最后還不行就重新啟動項目。
  • 坑點2:圖片模糊。切圖導出的時候選擇圖片*n >= 實際尺寸的。比如圖是375*812的,而實際尺寸是1000*2000(舉個例子),那么就要選擇3倍導出。
  • 坑點3:圖片還未加載完畢異常提前顯示。具體的:看代碼吧。
<script setup lang="ts">const showVideoSwipper = ref(false);//1.剛開始設置為falseonMounted(() => {setTimeout(() => {showSwipper.value = true;}, 1000);});//2.設置定時器,在組件掛載后等待1秒,將showVideoSwipper的值從false變為true
</script><template><div class="home-container"><!-- 首頁輪播組件carousel --><a-carousel autoplay :autoplaySpeed="7000"><!-- 3.設置class:當showSwipper為false時,hide類將被添加到banner內,從而使banner透明度為0 --><Banner :class="{ hide: !showSwipper }" /></a-carousel></div>
<template><!-- Banner.vue內 -->
<style lang="less" scoped>
<!-- 4.組件內部設置opacity: 0; -->
.hide {opacity: 0;
}
</style>
<!-- 5.最后的結果就是,會黑屏(不可見)一秒之后再顯示輪播圖 -->

技巧

  • 修改調試技巧:先通過檢查在界面修改樣式,會更方便直觀,調試好之后,再去項目里面修改代碼,速度就快很多了(顯然我還沒有習慣)。
  • 項目無法顯示,顯示500內部錯誤:(1)看提示的錯誤原因,自己修改了哪里,初步定位錯誤原因(2)查看代碼編寫是否錯誤(3)使用log看哪一步沒有顯示出來(4)重啟(比較浪費時間,最后在這樣做)
  • 移動文件夾命令: pwd 查看當前目錄,mv 原路徑 目標路徑。 例如:mv /Users/item/xxxx/ssss /Users/item/ 就是把ssss移動到item下面。
  • 快捷鍵:cm+c cm+v 快速復制下一行; cm+left/right定位到最左/右;cm+delete刪除整行;option+left/right左右移動。

三、寫在最后

  • 反正前兩天沒什么活,在學習摸魚了~自我感覺上班比上課快樂(可能只是剛開始,希望以后也這么覺得)
  • 第一次寫完了感覺沒什么問題,一定要多細心排查幾遍(真的很重要每次都被@太丟人了)
  • 工作過程中收獲到的知識點可以記在todo list挺方便(Q哥教的好)
  • 另一個實習生好像就是來做雜活的(很辛苦什么都要會一點,她經常加班),招實習生進來不就是干活嘛嗚嗚怎么可能讓我天天摸魚做好心理準備
  • 愉快的一周吧~期待下周運動會雖然沒報名,帶薪去還是快樂的(但實習生沒有衣服區別對待,我社恐一個人好尷尬。。)
  • 下周繼續摸魚&學習&工作吧。要制定一個自己的計劃了,規劃還是蠻重要的,好好想一下干什么。。。。
  • 碎碎念也就寫在這里了,拜拜~下周繼續碎碎念

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40929.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40929.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40929.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue3.js“非原始值”響應式實現基本原理筆記(一)

如果您覺得這篇文章有幫助的話&#xff01;給個點贊和評論支持下吧&#xff0c;感謝~ 作者&#xff1a;前端小王hs 阿里云社區博客專家/清華大學出版社簽約作者/csdn百萬訪問前端博主/B站千粉前端up主 此篇文章是博主于2022年學習《Vue.js設計與實現》時的筆記整理而來 書籍&a…

Sentinel限流算法總結

文章目錄 一、線程隔離二、滑動窗口算法三、令牌桶算法四、漏桶算法 一、線程隔離 線程隔離有兩種方式實現&#xff1a; 線程池隔離&#xff1a;給每個服務調用業務分配一個線程池&#xff0c;利用線程池本身實現隔離效果信號量隔離&#xff1a;不創建線程池&#xff0c;而是…

Xilinx FPGA:vivado關于同步fifo的兩個小實驗

一、實驗一&#xff1a;在同步fifo里寫一個讀一個&#xff08;寫入是8個位寬&#xff0c;讀出是16個位寬&#xff09; 程序&#xff1a; timescale 1ns / 1ps //要求寫一個讀一個 //讀寫時鐘一致&#xff0c;寫是8個位寬&#xff0c;讀是16個位寬 module sync_fifo_test(inpu…

QQ音樂Android一面涼經

最近面試了不少公司, 近期告一段落, 整理一下各家的面試問題, 打算陸續發布出來, 供有緣人參考。今天給大家帶來的是QQ音樂Android一面涼經。 面試崗位: QQ音樂Android開發工程師面試時長: 50min(提問40min 反問10min)代碼考核: 無 面試問題(40min) 自我介紹 工作經歷, 重點…

銀行信用卡風險大數據分析與挖掘2024

銀行信用卡風險大數據分析與挖掘 使用excel數據挖掘功能完成 一、信用卡客戶信用等級影響因素分析與挖掘 基于客戶信用記錄表 1. 數據預處理 瀏覽數據 客戶等級占比&#xff0c;其中優質客戶占比較少&#xff0c;風險客戶很多&#xff0c;分析影響客戶信用等級的原因 年…

vue3+ts項目中.env配置環境變量與情景配置

一、環境變量配置 官網https://cn.vitejs.dev/guide/env-and-mode.html#intellisense 1. 新建.env開頭的文件在根目錄 為了防止意外地將一些環境變量泄漏到客戶端&#xff0c;只有以 VITE_ 為前綴的變量才會暴露給經過 vite 處理的代碼 .env 所有環境默認加載 .env.developm…

數字化精益生產系統--MRP 需求管理系統

MRP&#xff08;Material Requirements Planning&#xff0c;物料需求計劃&#xff09;需求管理系統是一種在制造業中廣泛應用的計劃工具&#xff0c;旨在通過分析和計劃企業生產和庫存需求&#xff0c;優化資源利用&#xff0c;提高生產效率。以下是對MRP需求管理系統的功能設…

Raylib 坐標系

draftx 符號調整為正數 發現采樣坐標系原點0&#xff0c;0 在左上角&#xff0c;正方向 右&#xff0c;下 繪制坐標系 原點0&#xff0c;0 在左下角&#xff0c;正方向 右&#xff0c;上 拖拽可得 #include <raylib.h> // 重整原因&#xff1a;解決新函數放大縮小之下…

當需要對多個表進行聯合更新操作時,怎樣確保數據的一致性?

文章目錄 一、問題分析二、解決方案三、示例代碼&#xff08;以 MySQL 為例&#xff09;四、加鎖機制示例五、測試和驗證六、總結 在數據庫管理中&#xff0c;經常會遇到需要對多個表進行聯合更新的情況。這種操作帶來了一定的復雜性&#xff0c;因為要確保在整個更新過程中數據…

為什么需要服務器?服務器可以做些什么

目錄 一、服務器和電腦的區別二、什么是SSH三、什么是免密碼登錄四、服務器如何實現SSH免密碼登錄 一、服務器和電腦的區別 服務器和電腦是兩種不同類型的計算機系統&#xff0c;它們在設計、功能和用途上存在明顯的區別。首先&#xff0c;從硬件配置上看&#xff0c;服務器通…

vb.netcad二開自學筆記3:啟動與銷毀

Imports Autodesk.AutoCAD.ApplicationServicesImports Autodesk.AutoCAD.EditorInputImports Autodesk.AutoCAD.RuntimePublic Class WellcomCADImplements IExtensionApplicationPublic Sub Initialize() Implements IExtensionApplication.InitializeMsgBox("net程序已…

JDK都出到20多了,你還不會使用JDK8的Stream流寫代碼嗎?

目錄 前言 Stream流 是什么&#xff1f; 為什么要用Steam流 常見stream流使用案例 映射 map() & 集合 collect() 單字段映射 多字段映射 映射為其他的對象 映射為 Map 去重 distinct() 過濾 filter() Stream流的其他方法 使用Stream流的弊端 前言 當你某天看…

基于深度學習LightWeight的人體姿態檢測跌倒系統源碼

一. LightWeight概述 light weight openpose是openpose的簡化版本&#xff0c;使用了openpose的大體流程。 Light weight openpose和openpose的區別是&#xff1a; a 前者使用的是Mobilenet V1&#xff08;到conv5_5&#xff09;&#xff0c;后者使用的是Vgg19&#xff08;前10…

公務員考試、事業編考試、教師資格證、面試、K12資料、電子書

點擊上方△騰陽 關注 作者 l 騰陽 轉載請聯系授權 你好&#xff0c;我是騰陽。 在這個自媒體的海洋里&#xff0c;我曾是一只迷失方向的小鳥&#xff0c;多次嘗試飛翔卻總是跌跌撞撞。 但每一次跌倒&#xff0c;都讓我更堅定地相信&#xff0c;只要不放棄&#xff0c;總…

【Unity2D 2022:Particle System】添加命中粒子特效

一、創建粒子特效游戲物體 二、修改粒子系統屬性 1. 基礎屬性 &#xff08;1&#xff09;修改發射粒子持續時間&#xff08;Duration&#xff09;為1s &#xff08;2&#xff09;取消勾選循環&#xff08;Looping&#xff09; &#xff08;2&#xff09;修改粒子存在時間&…

2024全網最全面及最新且最為詳細的網絡安全技巧五 之 SSRF 漏洞EXP技巧,典例分析以及 如何修復 (上冊)———— 作者:LJS

五——SSRF漏洞 EXP技巧&#xff0c;典例分析以及 如何修復 目錄 五——SSRF EXP技巧&#xff0c;典例分析以及 如何修復 5.1Apache mod_proxy SSRF&#xff08;CVE-2021-40438&#xff09;的一點分析和延伸 0x01 Apache Module綜述 0x02 漏洞原理分析 Apache在配置反代的后端…

Vue的學習之生命周期

一、生命周期 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Vue的學習</title><script src"vue.js" type"text/javascript" charset"utf-8"></script></head>&l…

C#如何從中級進階到高級開發

從中級C#開發進階到高級開發&#xff0c;需要深入理解和掌握更復雜的技術和架構&#xff0c;同時培養解決問題的能力和創新思維。以下是一些關鍵的技能和步驟&#xff0c;可以幫助你從中級向高級開發邁進&#xff1a; 1. 深入理解C#語言特性 泛型&#xff1a;熟練使用泛型提高…

Java實現登錄驗證 -- JWT令牌實現

目錄 1.實現登錄驗證的引出原因 2.JWT令牌2.1 使用JWT令牌時2.2 令牌的組成 3. JWT令牌&#xff08;token&#xff09;生成和校驗3.1 引入JWT令牌的依賴3.2 使用Jar包中提供的API來實現JWT令牌的生成和校驗3.3 使用JWT令牌驗證登錄3.4 令牌的優缺點 1.實現登錄驗證的引出 傳統…

強化Linux系統安全性:從基礎命令到高級管理

強化Linux系統安全性&#xff1a;從基礎命令到高級管理 引言 在網絡安全領域&#xff0c;Linux系統因其穩定性和安全性而廣受歡迎。作為一名網絡安全專家&#xff0c;我將分享如何通過Linux基礎命令和高級管理技巧來加強系統的安全性。本文將基于《學神 IT 教育》提供的Linux…