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技巧收藏
Apr 07 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 Javascript
JQuery显示隐藏页面元素的方法总结
Apr 16 Javascript
详解javascript的变量与标识符
Jan 04 Javascript
关于RequireJS的简单介绍即使用方法
Oct 20 Javascript
Vue常用指令V-model用法
Mar 08 Javascript
基于vue.js路由参数的实例讲解——简单易懂
Sep 07 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
JSON的parse()方法介绍
Jan 31 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
Apr 07 Javascript
javascript实现前端分页功能
Nov 26 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常用Stream函数集介绍
2013/06/24 PHP
php分页函数示例代码分享
2014/02/24 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
jquery 学习之一 对象访问
2010/11/23 Javascript
Jquery之美中不足小结
2011/02/16 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
幼师专业求职推荐信
2013/11/08 职场文书
总经理职责
2013/12/22 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
学生吸烟检讨书
2014/09/14 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL