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 相关文章推荐
javascript知识点收藏
Feb 22 Javascript
JQuery datepicker 使用方法
May 20 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
Jul 31 Javascript
javascript将异步校验表单改写为同步表单
Jan 27 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
May 03 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
Apr 06 Javascript
JavaScript数据结构之单链表和循环链表
Nov 28 Javascript
Vue.js中的组件系统
May 30 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
Aug 08 Javascript
浅谈Layui的eleTree树式选择器使用方法
Sep 25 Javascript
JS字符串补全方法padStart()和padEnd()
May 27 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面向对象编程快速入门
2006/10/09 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
d3.js实现自定义多y轴折线图的示例代码
2018/05/30 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
通过python检测字符串的字母
2020/02/18 Python
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
联想台湾官网:Lenovo TW
2018/05/09 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
建筑专业自荐信
2013/10/18 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
2014年人大工作总结
2014/12/10 职场文书
党员个人承诺书
2015/04/27 职场文书
道歉短信大全
2015/05/12 职场文书
实习单位鉴定意见
2015/06/04 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
Python列表的索引与切片
2022/04/07 Python
深入理解pytorch库的dockerfile
2022/06/10 Python
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL