前端知識點雜記

本文章用于記錄前端學習中遇到的瑣碎問題及解決方法,歡迎大家一起學習補充~

前端如何獲取UUID發送至后端?

1. 命令行下載uuid庫

npm install uuid

2. 工程導入uuid庫

import { v4 as uuidv4 } from "uuid";

3. 使用方法生成uuid實例

const UUID = uuidv4();

4. 后端接收

public class Test{@JsonProperty("UUID") // 聲明與JSON對象對應的字段名private String uuid;
}

MyBatis無法將java.util.UUID類與數據庫的varchar類實現映射,因此建議使用String類來接收uuid?

前端如何獲取TimeStamp?對應Java的哪一類?

// 時間戳
const orderTime = +new Date();

可以使用Long類來接收時間戳,數據庫的時間戳字段也是用long類型進行映射即可

是對象,也是Map

js中不止Map()類實例可以實現key/value的映射,直接使用Object對象也可以實現key/value映射。

// 計算屬性,根據UUID分組訂單
const groupedOrders = computed(() => {const groups = {};props.shopList.forEach((order) => {if (!groups[order.UUID]) {groups[order.UUID] = [];}groups[order.UUID].push(order);});return groups;
});

如這個函數中,gruops作為對象,可以直接使用[keyName]訪問對應的value,且可以對key對應的value進行賦值等操作。

要刪除對應的key/value使用delete關鍵字即可:

delete classifiedList.value[UUID];

想要獲取classifiedList的長度?可以曲線救國:

Object.entries(obj) 
// 返回一個包含對象所有可枚舉屬性的鍵值對數組,所以這個方法會返回鍵值對的總數。

?使用Object.entries獲取鍵值對數組,鍵值對數組的長度即為classifiedList的長度。

Object.keys(obj)

? 或者使用Object.keys()獲取鍵的數組,鍵數組的長度即為classifiedList的長度?

監聽窗口被關閉事件

created(async () => {window.addEventListener('beforeunload',()=>{//... 銷毀前邏輯})
})

window對象監聽'beforeunload'事件即可。?

參考文章:vue 監聽瀏覽器關閉或刷新事件_vue監聽瀏覽器關閉-CSDN博客

el-table中如何獲取每行的對象?

v-slot:

在Vue.js中,v-slot指令用于定義具名插槽或默認插槽,并可以用來接收作用域插槽的數據。當你看到v-slot="scope"這樣的語法,它通常指的是一個作用域插槽(Scoped Slot)的用法,其中scope是一個變量名,用于訪問父組件傳遞給插槽的數據。

作用域插槽允許子組件向父組件傳遞數據,并在父組件的模板中控制這些數據的渲染方式。scope對象包含了子組件傳遞給插槽的所有屬性和方法,這些屬性和方法可以在插槽的內容中。

<el-table :data="users" border style="width: 100%" />

如向table表格中傳入users數組,要訪問表格每行對應的user對象,則可以使用v-slot插槽:

<template v-slot="scope"><el-button type="danger" @click="deleteUser(scope)">刪除</el-button>
</template>

scope對象中包含了如下信息:

$index: 2
cellIndex: 3
column: {order: '', id: 'el-table_8_column_32', type: 'default', property: undefined, align: 'is-center', …}
expanded: false
row: Proxy(Object) {userPhone: 'admin', userPassword: 'admin', userName: 'admin', userType: 'admin'}
store: {ns: {…}, assertRowKey: ?, updateColumns: ?, scheduleLayout: ?, isSelected: ?, …}
_self: {uid: 369, vnode: {…}, type: {…}, parent: {…}, appContext: {…}, …}
[[Prototype]]: Object

如可以通過scope.row訪問每行對應的user對象,通過scope.$index訪問每行對象對應的數組index?

JSON參數后端接收的嚴格要求:

后端若想接收JSON數據,首先需要進行相關配置,同時只能使用@RequestBody和對象來承接JSON,不能自動映射,也不能使用@RequestParam進行映射。

vue的父子組件之間進行通訊?

需求:點擊事件彈出的對話框為一個dialog.vue子組件。父組件向子組件傳入visible=true的屬性值時,對話框可正常彈出。但是父組件傳遞給子組件的屬性值是單向數據流,子組件中不能直接修改父組件visible=false以關閉對話框。如何解決?

解決:

如果想在用戶點擊取消按鈕時修改?visible?的值以關閉對話框,你需要通過觸發一個事件來通知父組件修改?visible?的值,因為 Vue 的 props 是單向數據流,子組件不應該直接修改傳入的 props。

子組件中加入代碼:

<template>  <!-- ...(其他代碼保持不變)... -->  <template #footer>  <div>  <!-- 修改取消按鈕的事件處理 -->  <el-button @click="handleCancel">取消</el-button>  </div>  </template>   
</template>  <script setup>  
import { defineEmits } from 'vue';  const emit = defineEmits(['update:visible']);  function handleCancel() {  // 觸發自定義事件,通知父組件關閉對話框  emit('update:visible', false);  
}  
</script>

父組件中加入代碼:

<modyfiy-dialog :visible="visible"  @update:visible="visible = $event" />

解析:

defineEmits?是 Vue 3 中用于在?<script setup>?模式下聲明組件可以發出哪些事件的函數。這有助于提供更好的類型檢查和更清晰的組件接口。在?<script setup>?中使用,通常位于文件的頂部。它接受一個字符串數組或一個對象,用于定義組件可以發出的事件。

update:visible?的命名含義是:子組件希望通過觸發update這個事件來更新父組件中名為?visible?的 prop 值。update:visible?這種命名方式在 Vue 中用于實現父子組件之間的雙向數據綁定,允許子組件更新父組件中的 prop 值。雖然 Vue 3 對?.sync?的處理方式有所改變,但這種命名約定仍然被保留并用于相同的目的。

共有兩種聲明方式:

1. 字符串數組定義

const emit = defineEmits(['update:visible']);

2. 對象方式定義

const emit = defineEmits({  'update:visible': (value) => typeof value === 'boolean',  
});

這種方式更加詳細和靈活。它不僅聲明了事件,還為每個事件提供了一個驗證函數。在這個例子中,'update:visible'?事件的驗證函數檢查傳遞的值是否為布爾類型。如果嘗試觸發該事件并傳遞一個非布爾值,Vue 將在控制臺中發出警告,指出參數不符合驗證函數的要求。

emit?函數用于在 Vue 3 組件中觸發自定義事件并傳遞必要的參數。emit?允許子組件向父組件發送消息,這是實現父子組件通信的一種重要方式。

function handleCancel() {  emit('update:visible', false);  
}

調用handleCancel函數便可以利用emit觸發 'update:visible' 事件,并傳遞 false 作為參數。

@update:visible="visible = $event"

這段代碼?@update:visible="visible = $event"?表示監聽一個名為?update:visible?的事件,并在該事件被觸發時執行一段代碼。具體來說,?當?update:visible?事件被觸發時,父組件會執行?visible = $event?這個表達式。這里,visible?是父組件中的一個響應式數據屬性,而?$event?包含了子組件觸發事件時傳遞的值。這個表達式的執行會將父組件中的?visible?屬性的值更新為子組件傳遞過來的新值。

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

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

相關文章

付費工具邏輯

1.付費推廣目的&#xff1a; 傳播信息心理暗示&#xff1b;擴大銷售&#xff0c;指導消費&#xff1b;樹立形象&#xff0c;塑道品牌&#xff1b; 2.付費和免費廣告&#xff1a; 付費主要為了增加曝光&#xff1b;免費廣告一般比付費廣告轉化率高&#xff1b; 3.平臺廣告交…

《Kubernetes部署篇:基于麒麟V10+ARM64架構部署harbor v2.4.0鏡像倉庫》

總結&#xff1a;整理不易&#xff0c;如果對你有幫助&#xff0c;可否點贊關注一下&#xff1f; 更多詳細內容請參考&#xff1a;企業級K8s集群運維實戰 一、環境信息 K8S版本 操作系統 CPU架構 服務版本 1.26.15 Kylin Linux Advanced Server V10 ARM64 harbor v2.4.0 二、部…

chrome谷歌瀏覽器開啟Gemini Nano模型

前提 確保您的操作系統語言設置為英語(美國) 可能還需要將 Chrome 瀏覽器的語言更改為英語(美國)。 下載dev或Canary版本Chrome Chrome Canary Chrome Dev 注意:確認您的版本高于 127.0.6512.0。 其中一個Chrome版本不行就切換另外一個版本 繞過性能檢查 Tab輸入: …

中國美業元宇宙-探索美容行業的未來

隨著科技的不斷進步和數字化轉型的深入&#xff0c;元宇宙作為一種全新的虛擬現實交互平臺&#xff0c;正逐漸成為推動多個行業革新的重要力量。在這種背景下&#xff0c;中國美業也在積極擁抱元宇宙&#xff0c;希望通過這一新興技術為傳統美容行業帶來創新與發展。 #### 中國…

結構體相關習題的補充

結構體相關習題的補充 題目1&#xff1a; 如有以下代碼&#xff1a; struct student {int num;char name[32];float score; }stu;則下面的敘述不正確的是&#xff1a;( ) A.struct 是結構體類型的關鍵字 B.struct student 是用戶定義的結構體類型 C.num, score 都是結構體…

正邦科技(day4)

燒錄 一、燒錄固件二、 通訊模塊升級1&#xff1a;USB的方式升級固件2&#xff1a;通過mqtt的方式升級固件3&#xff1a;切換環境 三、 燒錄WiFi1&#xff1a;短接2&#xff1a;燒錄腳本 設備注意事項&#xff1a; 第一種方式&#xff1a;通信模組和MCU都可以統一燒錄BoodLoade…

Oracle Hint /*+APPEND*/插入性能總結

oracle append用法 Oracle中的APPEND用法主要用于提高數據插入的效率。 基本用法&#xff1a;在使用了APPEND選項后&#xff0c;插入數據會直接加到表的最后面&#xff0c;而不會在表的空閑塊中插入數據。這種做法不需要尋找freelist中的free block&#xff0c;從而避免了在…

【計算機畢設】基于Spring Boot的課程作業管理系統 - 源碼免費(私信領取)

免費領取源碼 &#xff5c; 項目完整可運行 &#xff5c; v&#xff1a;chengn7890 誠招源碼校園代理&#xff01; 1. 研究目的 課程作業管理系統旨在為教師和學生提供一個便捷的平臺&#xff0c;用于發布、提交和評定課程作業。本系統旨在提高作業管理的效率&#xff0c;促進教…

Golang反射

文章目錄 基本介紹reflect包reflect.Typereflect.Valuereflect.Kind具體類型、空接口與reflect.Value的相互轉換 反射應用場景修改變量的值訪問結構體的字段信息調用變量所綁定的方法實現函數適配器創建任意類型的變量 基本介紹 基本介紹 在Go中&#xff0c;反射&#xff08;re…

錯誤 0x80070570:文件或目錄損壞且無法讀取/無法訪問[拒絕訪問]-解決方法

1.起因&#xff1a;在挪動&#xff35;盤文件時&#xff0c;出現無法移動的報錯提示&#xff1a; and無法訪問[拒絕訪問]: 2.原因&#xff3b;大多是胡亂拔出&#xff35;盤&#xff3d; &#xff3b;來自0x80070570 文件或目錄損壞且無法讀取 CHKDSK 修復方法-CSDN博客&#…

iOS AVFoundation 音視頻源碼分享

引言 在現代移動開發中&#xff0c;音視頻處理是一個不可忽視的重要領域。iOS 提供了強大的 AVFoundation 框架&#xff0c;使開發者能夠輕松實現音視頻錄制、播放、編輯等功能。無論是創建高效的視頻播放器&#xff0c;還是實現復雜的音頻處理&#xff0c;AVFoundation 都能提…

Leecode---買賣股票最大利潤問題

121—題目&#xff08;只能買賣一次&#xff09;&#xff1a; 給定一個數組 prices &#xff0c;它的第 i 個元素 prices[i] 表示一支給定股票第 i 天的價格。 你只能選擇 某一天 買入這只股票&#xff0c;并選擇在 未來的某一個不同的日子 賣出該股票。設計一個算法來計算你所…

python-pytorch編寫transformer模型實現問答0.5.00--訓練和預測

python-pytorch編寫transformer模型實現問答0.5.00--訓練和預測 背景代碼訓練預測效果背景 代碼寫不了這么長,接上一篇 https://blog.csdn.net/m0_60688978/article/details/139360270 代碼 # 定義解碼器類 n_layers = 6 # 設置 Decoder 的層數 class Decoder(nn.Module)…

【JavaEE進階】——帶你詳細了解Spring日志以及配置日志

目錄 &#x1f6a9;Spring日志的認識 &#x1f6a9;Spring日志的作用 &#x1f6a9;觀察日志 &#x1f6a9;使用日志 &#x1f388;在程序中得到日志對象 &#x1f388;使??志對象輸出要打印的內容 &#x1f6a9;日志框架的介紹 &#x1f388;門面模式(外觀模式&…

Unity實現簡單的第一人稱控制

先看效果 實現方式 1.首先創建一個腳本 2.編輯腳本內容 付上腳本代碼 private float RotationX 0;public float speed 2f;//移動速度// Use this for initializationvoid Start(){Cursor.lockState CursorLockMode.Locked;//鎖定鼠標到中心點Cursor.visible false;//隱藏鼠…

(CPU/GPU)粒子繼承貼圖顏色發射

GetRandomInfo節點(復制貼進scratch pad Scripts) Begin Object Class/Script/NiagaraEditor.NiagaraClipboardContent Name"NiagaraClipboardContent_22" ExportPath/Script/NiagaraEditor.NiagaraClipboardContent"/Engine/Transient.NiagaraClipboardConten…

uni-app+php 生成微信二維碼 分銷海報

主要代碼如下&#xff0c;可直接復制調試參數&#xff1a; //查詢當前用戶是否有分銷海報public function user_poster(){$this->checkAuth();//查詢會員信息$user $this->getUserInfoById($this->user_id);if(!empty($user[distribution_img])){$result[data] $use…

深入解析力扣170題:兩數之和 III - 數據結構設計(哈希表與雙指針法詳解及模擬面試問答)

在本篇文章中&#xff0c;我們將詳細解讀力扣第170題“兩數之和 III - 數據結構設計”。通過學習本篇文章&#xff0c;讀者將掌握如何設計一個數據結構來支持兩種操作&#xff0c;并了解相關的復雜度分析和模擬面試問答。每種方法都將配以詳細的解釋和ASCII圖解&#xff0c;以便…

頭歌數據結構與算法課程設計易 - 青蛙跳臺階

從前有一只青蛙想跳臺階去等峰&#xff0c;若該青蛙一次可以跳上1級臺階、也可以跳上2級、還可以跳3級。那么改青蛙從第0級臺階出發&#xff0c;在跳上第n級臺階且在第m級臺階停留過時有多少種跳法。 輸入描述&#xff1a; 第一行兩個正整數&#xff0c;n和m m<n 輸出描述&a…

kubernetes鏡像下載頁,離線安裝k8s的資源

kubernetes-apt-pool安裝包下載_開源鏡像站-阿里云 (aliyun.com) 【Kubernetes】Kubernetes各大版本的最新版本下載地址_kubet軟件下載-CSDN博客