vue对storejs获取的数据进行处理时遇到的几种问题小结


Posted in Javascript onMarch 20, 2018

具体代码如下所示:

export default {
  data(){
    return {
      shopList:{},
      isEmpty:false, //判断购物车中是否有存在内容
    }
  },
  created(){
    if(!store.get('?shopCar')){
      this.isEmpty = true;
    }else{
      //对数据处理 将商店中名中的地址分离出来
      this.shopList = store.get('shopCar');
      console.log(this.shopList)
    }
  }  
}

这个时候打印出来:

this.shopList 显示的结果为 {ob: Observer}

虽然可以在vue中直接使用如下:

<ul>
  <li v-for = "list in shopList" :key = "list.id">
    {{list}}
  </li>
</ul>

但是如果此时我想对this.shopList中的数据进行处理,就会出现问题,此时如果你想遍历循环该数据,就会出现意想不到的效果,因为此时打印 this.shopList.length 显示出来的结果为undefined。

遍历对象有几种方法:

1,最常用的 for循环 ,但此时length为undefined,该方法不可用;

2,for in 同上原因不可使用

3. jquery中也有遍历对象的方法 $.each(this.shopList,function(n,i){})

你会发先第三种可以遍历这个数据,那么就可以实现数据的处理了。

但是如果你的this.shopList这个对象中又包含了一层对象呢?.each()中再包含一层.each()中再包含一层.each(),不就可以解决这种问题了吗?除了这种方法外,有种更好的办法:

created(){
    if(!store.get('?shopCar')){
      this.isEmpty = true;
    }else{
      //对数据处理 将商店中名中的地址分离出来
      var shopList = store.get('shopCar')
      $.each(shopList,function(n,i){
        //处理数据。。。。。
      })
      this.shopList = shopList;
      console.log(this.shopList)
    }
  }

更简单直接的办法是,将数据先赋值给一个变量,将数据处理为你想要的格式之后,再复制给this.shopList即可。

为什么我们直接将数据赋值给this.shopList就不可以对数据进行处理了呢?

原因是当你将数据赋值给this.shopList,即实现了vue的数据的双向绑定。

总结

以上所述是小编给大家介绍的vue对storejs获取的数据进行处理时遇到的几种问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
Jan 05 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
Apr 03 Javascript
asp.net中oracle 存储过程(图文)
Aug 12 Javascript
JS实现设置ff与ie元素绝对位置的方法
Mar 08 Javascript
javascript实现抽奖程序的简单实例
Jun 07 Javascript
plupload+artdialog实现多平台上传文件
Jul 19 Javascript
jQuery实现html双向绑定功能示例
Oct 09 jQuery
JS实现的冒泡排序,快速排序,插入排序算法示例
Mar 02 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
Sep 07 Javascript
webpack本地开发环境无法用IP访问的解决方法
Mar 20 #Javascript
解决vue-router中的query动态传参问题
Mar 20 #Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 #Javascript
手写Node静态资源服务器的实现方法
Mar 20 #Javascript
JS 实现缓存算法的示例(FIFO/LRU)
Mar 20 #Javascript
react-native封装插件swiper的使用方法
Mar 20 #Javascript
在vue项目中使用sass的配置方法
Mar 20 #Javascript
You might like
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
js实现表格字段排序
2014/02/19 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
python numpy 按行归一化的实例
2019/01/21 Python
python 字典操作提取key,value的方法
2019/06/26 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
如何真正的了解python装饰器
2020/08/14 Python
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
小学六一主持词开场白
2015/05/28 职场文书
致运动员赞词
2015/07/22 职场文书
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server