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 相关文章推荐
正则表达式语法
Oct 09 Javascript
学习ExtJS Column布局
Oct 08 Javascript
jQuery 追加元素的方法如append、prepend、before
Jan 16 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
Sep 10 Javascript
jQuery中siblings()方法用法实例
Jan 08 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
js实现点击图片自动提交action的简单方法
Oct 16 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
DOM 事件的深入浅出(一)
Dec 05 Javascript
微信小程序 数据遍历的实现
Apr 05 Javascript
Vue.js 动态为img的src赋值方法
Mar 14 Javascript
javascript自定义日期比较函数用法示例
Jul 22 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
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
javascript 面向对象编程基础 多态
2009/08/21 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
js自定义事件代码说明
2011/01/31 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
Python实现的最近最少使用算法
2015/07/10 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
给我一面国旗 python帮你实现
2019/09/30 Python
简单了解python数组的基本操作
2019/11/26 Python
Python count函数使用方法实例解析
2020/03/23 Python
Python异常处理机制结构实例解析
2020/07/23 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
高级人员简历的自我评价分享
2013/11/03 职场文书
小学毕业家长寄语
2014/01/19 职场文书
电工技术比武方案
2014/05/11 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
初三毕业感言
2015/07/31 职场文书
教师教育心得体会
2016/01/19 职场文书