vue 拷贝 数组_vue 使用lodash实现对象数组深拷贝操作

我就废话不多说了,大家还是直接看代码吧~

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);

}

}

};

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

补充知识:vue iview上传多文件只发送一次ajax请求,并根据上传进度显示上传进度条

前言

基于iview的上传组件(Upload)以及进度条组件(Progress)

思路

使用Upload组件提供的上传文件之前的钩子,将所有上传文件拦截下来,保存在本地临时数组,使用axios来进行上传

完整示例

进度条部分,请上传一个大文件来查看效果

:before-upload="handleUpload"

:action="''"

:multiple="true"

>

请选择附件

  • v-for="(item, index) of formData.dispalyFile"

    :key="index"

    >

    {{ item.name }}

import axios from 'axios';

export default {

data() {

return {

formData: {

dispalyFile: [] // 临时数组,同时用于显示在页面

},

// 上传配置

upload: {

look: true, // 控制多文件上传,只触发一次ajax请求

fileProgressShow: false, // 进度条

fileProgress: 0 // 进度条进度

}

};

},

methods: {

handleUpload(selectFile) {

// 临时数组,同时用于显示在页面

this.formData.dispalyFile.push(selectFile)

// 控制多文件上传,只触发一次ajax请求

if (this.upload.look) {

this.upload.look = false;

// 延迟请求,等待所有文件都从本地读取完毕

setTimeout(() => {

let formData = new FormData();

this.formData.dispalyFile.map(item => {

// files为后台接收参数

// []为多文件数组

formData.append('files[]', item);

})

axios.request({

url: '/upload',

method: 'post',

data: formData,

headers: { 'Content-Type': 'multipart/form-data' },

onUploadProgress: (progressEvent) => {

// 用于上传过程中显示进度条

if (progressEvent.lengthComputable) {

// 显示进度条

this.upload.fileProgressShow = true;

// 计算当前进度

let curValue = (progressEvent.loaded / progressEvent.total * 100).toFixed(0);

// 赋值给进度条组件

this.upload.fileProgress = parseInt(curValue);

}

}

})

.then(res => {

// 上传成功处理

// 隐藏进度条

this.upload.fileProgressShow = false;

})

.catch(() => {

// 上传失败处理

// 隐藏进度条

this.upload.fileProgressShow = false;

})

}, 50);

}

return false;

}

}

};

.upload {

width: 40%;

}

效果图

上传多文件,只进行了一次ajax请求,这里xlz是一个超大压缩包,用于展示进度条效果, binary 为二进制文件

如果本篇文章对你有帮助的话,很高兴能够帮助上你。希望能给大家一个参考,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VBA代码分行

VBA代码分行如果是语句可以直接在要换行的位加一个空格一个下划: Dim MyPath As String, MyName As String, _ tmpPath As String如果是字符串可以加以加一个空格一个&和一个空格加一个下划线:x "ABCDEFG" & _"HIJKLMNO" 转…

[Swift通天遁地]五、高级扩展-(6)对基本类型:Int、String、Array、Dictionary、Date的扩展...

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址&a…

JavaFX中的塔防(5)

这是本使用FXGameEngine在JavaFX中创建塔防游戏的正在进行的教程的第5部分。 敌人现在飞向目标的攻击路径,炮塔瞄准并射击。 因此,最重要的部分在那里,但是仍然缺少许多细节。 游戏只是开始而没有给我们机会为下一个浪潮做准备。 它不显示分数…

消息提示框-事件冒泡

1 <!DOCTYPE html>2 <html lang"en">3 4 <head>5 <meta charset"UTF-8">6 <title>事件冒泡-提示框</title>7 </head>8 <style>9 button {10 width: 160px;11 height: 30px;12 backgr…

我是如何解决asp.net程序在dreamWeaver中布局乱码的问题

每次把asp.net程序导入Dw2004中时&#xff0c;总是出现乱码&#xff0c;也不知道是什么原因。今天我就换了一个版本&#xff08;DW8&#xff09;&#xff0c;发现以前的问题全都没了。我想肯定是我的DW出现了问题&#xff0c;因为以前也出现过一次&#xff0c;也是重装后解决掉…

selenium3 + python - cookie定位

from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitimport timedriver webdriver.Chrome()# 启动浏览器后获取cookiesprint(driver.get_cookies())driver.get("https://www.cnblogs.com/Teachertao/")# 打开主页后获取cooki…

分段函数if语句_C语言函数系列之库函数中基础必会函数(一)

&#xff01;&#xff01;&#xff01;阅前提醒&#xff1a;&#xff01;&#xff01;&#xff01;此文为c语言函数系列的第一篇&#xff0c;全系列字数将达到1w字以上且全为干货内容&#xff0c;请各位仔细阅读并打开编译器运行文章中出现的代码进行试验以确保能理解文章内容i…

JavaFX中的塔防(6)

因此&#xff0c;我们已经在本教程的第6部分中&#xff0c;与此同时&#xff0c;游戏也取得了长足的进步。 在这一部分中&#xff0c;我们最终将添加一个显示得分的图层&#xff0c;已达到目标的敌人数量&#xff0c;启动下一个Wave的按钮以及用于购买新炮塔的资金。 说到钱&am…

教师计算机网络培训工作总结,教师培训工作的自我总结

【导读】教师培训工作的自我总结为好范文网的会员投稿推荐&#xff0c;但愿对你的学习工作带来帮助。教师是一个平凡而又伟大的职业&#xff0c;那教师培训工作总结怎么写呢?下面小编就和大家分享教师培训工作总结&#xff0c;来欣赏一下吧。教师培训工作总结(一)一年来&#…

十一 hashlib模块

# 1、什么叫hash:hash是一种算法&#xff08;3.x里代替了md5模块和sha模块&#xff0c;主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 &#xff0c;MD5 算法&#xff09;&#xff0c;该算法接受传入的内容&#xff0c;经过运算得到一串hash值 # 2、hash值的特点是&#xff1a…

c#中接口的使用方法图解_c# 接口方法中使用new有什么用?

慕盖茨44945811234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465//接口示例class Program { static void Main(string[] args) { S s new S(); s.Fun(); s.Method(); …

nginx知识问答

1、请解释一下什么是Nginx?  答&#xff1a;Nginx是一个web服务器和反向代理服务器&#xff0c;用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性&#xff1f;  答&#xff1a;Nginx服务器的特性包括&#xff1a; 1&#xff09;反向代理/L7负载均衡器 …

HashMap如何在Java中工作

面试中最常见的问题是“ HashMap如何在Java中工作”&#xff0c;“ HashMap的获取和放置方法如何在内部工作”。 在这里&#xff0c;我试图通过一个简单的示例来解释内部功能。 而不是理论&#xff0c;我们将首先从示例开始&#xff0c;以便您更好地理解&#xff0c;然后我们将…

input上传文件个数控制

HTML: 1 <h3>请上传[2,5]个文件</h3>2 <form action"" enctype"multipart/form-data">3 <input type"file" name"file" multiple"multiple" id"file" onchange"fileCo…

构造方法的格式

Student.java /* 构造方法作用概述:给对象的数据进行初始化* * 1.构造方法的方法名和类名相同* 2.构造方法不能写void ,没有返回值类型* 3.没有具体的返回值* * 构造方法的注意事项:* A:如果我们没有给出构造方法&#xff0c;系统将会提供一个默认的无参构造方…

东北农业大计算机排名,黑龙江高校排名更新,东北林大排名第3,东油排名第8...

东北地区的经济发展起步比较早&#xff0c;属于我国的老牌重工业基地&#xff0c;被称为“新中国工业的摇篮”&#xff0c;是我国最重要的经济支柱。这里的高校也因此而受到重视&#xff0c;为日后的发展奠定了扎实的基础&#xff1b;随着国家经济重心的转移&#xff0c;因为地…

打印控件

Visual Basic - 第三方控制Visual Basic - 打印与报表Visual Basic - DBGrid 现在几乎所有数据库表格控件(除了VB自身的DBGrid)都带有打印和预览功能&#xff0c;象True DBGrid Pro(http://www.componentone.com/)、Farpoint Spread(http://www.fpoint.com/)、Janus Grid和国产…

实现sessionfilter_session应用--采用filter和session实现简单用户权限控制

前面有讲到一些session的基础知识点&#xff0c;这里那我们就将session和filter做结合&#xff0c;实现一个简单地应用处理用于一般后端管理程序的权限控制&#xff01;①我们先建立一个filter的实现类SecurityServlet&#xff0c;简单代码如下&#xff1a;import java.io.IOEx…

开博语

犹记那年雁归&#xff0c;黄叶纷飞&#xff1b;独立平房女儿墙&#xff0c;也装欢喜悲凉&#xff1b; 而今蝉鸣初夏&#xff0c;毕业无话&#xff1b;四年弹指一挥间&#xff0c;总是回首不堪。 点点滴滴写此处&#xff0c;昼夜行路。转载于:https://www.cnblogs.com/iloveww/p…

150个Java面试问答-最终清单(PDF下载)

我们的Java面试问题和答案集合全都涉及可以在Java面试中使用的不同类型的问题&#xff0c;以使雇主可以测试您在Java和面向对象编程方面的技能。 在以下各节中&#xff0c;我们将讨论有关面向对象编程及其特性的Java面试问题&#xff0c;有关Java及其功能的一般问题&#xff0…