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日历 推荐
Dec 03 Javascript
JQuery1.6 使用方法三
Nov 23 Javascript
实现音乐播放器的代码(html5+css3+jquery)
Aug 04 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
Apr 05 Javascript
jQuery使用getJSON方法获取json数据完整示例
Sep 13 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
js实现控制文件拖拽并获取拖拽内容功能
Feb 17 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
Dec 10 Javascript
JS如何定义用字符串拼接的变量
Jul 11 Javascript
Vue-resource安装过程及使用方法解析
Jul 21 Javascript
解决Vue中使用keepAlive不缓存问题
Aug 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
php关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
深入理解PHP中的count函数
2016/05/31 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python函数的万能参数传参详解
2019/07/26 Python
python进行参数传递的方法
2020/05/12 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
python中的对数log函数表示及用法
2020/12/09 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
4s店总经理岗位职责
2013/12/31 职场文书
2015年采购员工作总结
2015/04/27 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS