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,超强推荐share.js
Dec 23 Javascript
jquery 与NVelocity 产生冲突的解决方法
Jun 13 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
seajs模块压缩问题与解决方法实例分析
Oct 10 Javascript
基于mpvue的小程序项目搭建的步骤
May 22 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
Jan 14 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
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下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
javascript学习网址备忘
2007/05/29 Javascript
select组合框option的捕捉实例代码
2008/09/30 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
python里对list中的整数求平均并排序
2014/09/12 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python3 enum模块的应用实例详解
2019/08/12 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
应届生新闻编辑求职信
2013/11/19 职场文书
实习报告评语
2014/04/26 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
董事长助理岗位职责
2015/02/11 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
解析Java异步之call future
2021/06/14 Java/Android