午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue 使用lodash實(shí)現(xiàn)對(duì)象數(shù)組深拷貝操作

瀏覽:173日期:2022-11-24 16:20:02

我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~

<template> <div></div></template><script>export default { mounted() { this.init(); }, methods: { init() { let lodash = require(’lodash’); let obj1 = { a: 1, b: { f: { g: 1 } }, c: [1, 2, 3], h: () => { return 123; }, k: undefined }; let obj2 = lodash.cloneDeep(obj1); obj2.b.f.g = 2; obj2.c = [1, 2]; obj2.h = 1; console.log(obj1); console.log(obj2); } }};</script>

vue 使用lodash實(shí)現(xiàn)對(duì)象數(shù)組深拷貝操作

如果本篇文章對(duì)你有幫助的話(huà),很高興能夠幫助上你。

補(bǔ)充知識(shí):vue iview上傳多文件只發(fā)送一次ajax請(qǐng)求,并根據(jù)上傳進(jìn)度顯示上傳進(jìn)度條

前言

基于iview的上傳組件(Upload)以及進(jìn)度條組件(Progress)

思路

使用Upload組件提供的上傳文件之前的鉤子,將所有上傳文件攔截下來(lái),保存在本地臨時(shí)數(shù)組,使用axios來(lái)進(jìn)行上傳

vue 使用lodash實(shí)現(xiàn)對(duì)象數(shù)組深拷貝操作

完整示例

進(jìn)度條部分,請(qǐng)上傳一個(gè)大文件來(lái)查看效果

<template> <Form :model='formData' :label-width='80'> <FormItem label='上傳文件'> <Upload :before-upload='handleUpload' :action='’’' :multiple='true' > <Button icon='ios-cloud-upload-outline'>請(qǐng)選擇附件</Button> </Upload> <!-- 進(jìn)度條 --> <Progress v-if='upload.fileProgressShow' :percent='upload.fileProgress' /> <!-- 顯示列表 --> <ul> <li v-for='(item, index) of formData.dispalyFile' :key='index' > <span>{{ item.name }}</span> <Icon type='md-close' @click='handleRemove(index)' /> </li> </ul> </FormItem> </Form></template><script>import axios from ’axios’;export default { data() { return { formData: { dispalyFile: [] // 臨時(shí)數(shù)組,同時(shí)用于顯示在頁(yè)面 }, // 上傳配置 upload: { look: true, // 控制多文件上傳,只觸發(fā)一次ajax請(qǐng)求 fileProgressShow: false, // 進(jìn)度條 fileProgress: 0 // 進(jìn)度條進(jìn)度 } }; }, methods: { handleUpload(selectFile) { // 臨時(shí)數(shù)組,同時(shí)用于顯示在頁(yè)面 this.formData.dispalyFile.push(selectFile) // 控制多文件上傳,只觸發(fā)一次ajax請(qǐng)求 if (this.upload.look) { this.upload.look = false; // 延遲請(qǐng)求,等待所有文件都從本地讀取完畢 setTimeout(() => { let formData = new FormData(); this.formData.dispalyFile.map(item => { // files為后臺(tái)接收參數(shù) // []為多文件數(shù)組 formData.append(’files[]’, item); }) axios.request({ url: ’/upload’, method: ’post’, data: formData, headers: { ’Content-Type’: ’multipart/form-data’ }, onUploadProgress: (progressEvent) => { // 用于上傳過(guò)程中顯示進(jìn)度條 if (progressEvent.lengthComputable) {// 顯示進(jìn)度條this.upload.fileProgressShow = true;// 計(jì)算當(dāng)前進(jìn)度let curValue = (progressEvent.loaded / progressEvent.total * 100).toFixed(0);// 賦值給進(jìn)度條組件this.upload.fileProgress = parseInt(curValue); } } }) .then(res => { // 上傳成功處理 // 隱藏進(jìn)度條 this.upload.fileProgressShow = false; }) .catch(() => { // 上傳失敗處理 // 隱藏進(jìn)度條 this.upload.fileProgressShow = false; }) }, 50); } return false; } }};</script><style scoped>.upload { width: 40%;}</style>

效果圖

上傳多文件,只進(jìn)行了一次ajax請(qǐng)求,這里xlz是一個(gè)超大壓縮包,用于展示進(jìn)度條效果, binary 為二進(jìn)制文件

vue 使用lodash實(shí)現(xiàn)對(duì)象數(shù)組深拷貝操作

如果本篇文章對(duì)你有幫助的話(huà),很高興能夠幫助上你。希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 欧美成人免费一级 | 九九热免费视频 | 国产婷婷| 成人福利在线视频 | 欧美国产精品一区 | 波多野结衣家庭教师在线观看 | 久久久久1 | av天天在线 | 欧美字幕| 在线观看av资源 | 香蕉视频污版 | 成人三级黄色片 | 丁香婷婷九月 | 亚洲天堂视频在线观看 | 一级片大全 | 久久免费福利 | 国产精品资源在线 | 午夜影院体验区 | 婷婷丁香花五月天 | 每日更新在线观看av | 日韩av成人网 | 一区二区视频在线观看 | 成人aaaa| 一直高潮(巨肉高h) 亚洲色图在线视频 | 国产成人+综合亚洲+天堂 | 日韩资源在线观看 | 欧美亚韩一区二区三区 | 日韩欧美大片在线观看 | 天堂二区| 精品一区二区三区免费视频 | 午夜在线成人 | 人人澡超碰碰97碰碰碰 | 欧美日韩国内 | 在线看亚洲 | 成年人网站在线免费观看 | 亚洲黄色精品 | 95看片淫黄大片一级 | 国产男女无套免费网站 | 黄色福利在线观看 | www.九九九| 天天爽爽 |