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实现的鼠标经过时播放声音
May 18 Javascript
前端轻量级MVC框架CanJS详解
Sep 26 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
JavaScript中的acos()方法使用详解
Jun 14 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
Vue框架里使用Swiper的方法示例
Sep 20 Javascript
Node.js+ELK日志规范的实现
May 23 Javascript
vue中v-show和v-if的异同及v-show用法
Jun 06 Javascript
jQuery实现可编辑的表格
Dec 11 jQuery
vue 检测用户上传图片宽高的方法
Feb 06 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 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
附件名前加网站名
2008/03/23 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
软件测试面试题
2014/01/05 面试题
数控技术与应用毕业生自荐信
2013/09/24 职场文书
学生党支部先进事迹
2014/02/04 职场文书
采购助理岗位职责
2014/02/16 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
开学典礼策划方案
2014/05/28 职场文书
婚庆公司计划书
2014/09/15 职场文书
领导班子对照检查材料
2014/09/22 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
投标单位介绍信
2015/05/05 职场文书
第一节英语课开场白
2015/06/01 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL