vue 给数组添加新对象并赋值


Posted in Vue.js onApril 20, 2022

给数组添加新对象并赋值

方法一

适用于数组就只有一组

listData: [{name:"张三",age:18}],
//直接添加对象
listData.sex="男"

方法二

适用于数组中有多组信息

listData:[],
list:[{"张三","李四"}]
//比如想把另外一个数组中编列出来的值加入到这个数组中
   for (let index = 0; index < this.listlist.length; index++) {
          this.listData.push({ name: "" });
          this.listData[index].name= this.list[index];
        }

数组赋值踩过的坑及解决

最近需要在Vue当中完成动态赋值数组操作,从服务器拿到数据后,刷新数组中的数据,但是发现无论使用什么方法都不行,通过打log,发现数据在这里就无法向下执行,而且也没有报任何的异常,最终问题解决,在这里做个记录。

Vue中的数组赋值和在普通的JS中赋值还是有所区别。

  • 以下操作可以引起界面刷新:push,pop ,unshift,shift,reverse,sort,splice
  • 以下操作不会引起界面刷新:slice,concat ,filter

还有一点需要注意:

如果通过直接赋值或者改变长度是无法让界面刷新的。

(1)通过索引直接设置项。

(2)修改数组长度,mylist.length=3

第二点,在从服务器中获取数据后赋值需要注意一个问题:主体对象的改变。

比如在使用axios对象发起请求后,在返回方法中处理数据需要注意:

注意在axios的then方法中调用对象时,不能使用this对象,因为此时this对象指的是axios实例,所以通过this是获取不到vue实例中的data数据的,必须在外界使用一个值来指向vue实例对象,通过这个外部对象来赋值,才是正确的。

var self;
created:function(){
self = this;
},
mouted:function(){        
axios.create({
        baseURL: 'url',
        timeout: 10000,
        headers: { 'Content-Type': 'application/json' }
      }).get('xxxxxxxxxx')
          .then(function(response){
            if(response.data.dataList.length>0){
              var datalist = response.data.dataList;
              for(var i=0;i<datalist.length;i++){
                self.DeviceTypeList.push({devicetype:datalist[i].name});
              }
            }
        })
          .catch(function(error){
            console.log(JSON.stringify(error));
          });
}

以上为个人经验,希望能给大家一个参考。

Vue.js 相关文章推荐
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
vue动态合并单元格并添加小计合计功能示例
Nov 26 Vue.js
Vue与React的区别和优势对比
Dec 18 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
vue组件是如何解析及渲染的?
Jan 13 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
vue中div禁止点击事件的实现
Apr 02 Vue.js
vue 数字翻牌器动态加载数据
Apr 20 #Vue.js
vue3.0 数字翻牌组件的使用方法详解
Apr 20 #Vue.js
vue封装数字翻牌器
Apr 20 #Vue.js
vue特效之翻牌动画
Apr 20 #Vue.js
解决vue中provide inject的响应式监听
Apr 19 #Vue.js
vue3种table表格选项个数的控制方法
Apr 14 #Vue.js
vue项目配置sass及引入外部scss文件
Apr 14 #Vue.js
You might like
拼音码表的生成
2006/10/09 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
2013/11/27 Python
使用python实现扫描端口示例
2014/03/29 Python
编程语言Python的发展史
2014/09/26 Python
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
Java多态性的定义以及类型
2014/09/16 面试题
创业计划书如何吸引他人眼球
2014/01/10 职场文书
法律进企业活动方案
2014/03/04 职场文书
社区志愿者活动总结
2014/06/26 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python