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 相关文章推荐
你的 mixin 真的兼容 ECMAScript 5 吗?
Apr 11 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
Jul 08 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
Jun 22 Javascript
JavaScript数据存储 Cookie篇
Jul 02 Javascript
在vue中使用css modules替代scroped的方法
Mar 10 Javascript
React props和state属性的具体使用方法
Apr 12 Javascript
微信小程序实现运动步数排行功能(可删除)
Jul 05 Javascript
vue插槽slot的理解和使用方法
Apr 03 Javascript
细说Vue组件的服务器端渲染的过程
May 30 Javascript
深入学习JavaScript 高阶函数
Jun 11 Javascript
微信小程序封装多张图片上传api代码实例
Dec 30 Javascript
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
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与SQL注入攻击[三]
2007/04/17 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
几道PHP的面试题
2012/05/19 面试题
生物化工专业个人自荐信
2013/09/26 职场文书
亚运会口号
2014/06/20 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
长城英文导游词
2015/01/30 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
2016教师节感恩话语
2015/12/09 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android