이번에는 데이터를 얻기 위한 vue+storejs 처리에 대해 다루겠습니다. vue+storejs 처리를 통해 데이터를 얻을 때 주의할 점은 무엇인가요? 다음은 실제 사례입니다.
구체적인 코드는 다음과 같습니다.
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}
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){})
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를 에서 인쇄하기 때문에 예상치 못한 결과가 발생합니다. 이번에는 .length
로 표시된 결과가 정의되지 않았습니다.
객체를 순회하는 방법에는 여러 가지가 있습니다: 1, 가장 일반적으로 사용되는 for 루프이지만 현재 길이는 정의되지 않음, 이 메서드는 사용할 수 없습니다. 2, in은 위와 같은 이유로 사용할 수 없습니다3. jquery $.each(this.shopList, function(n)에도 개체를 탐색하는 방법이 있습니다. ,i){})
이 데이터를 탐색할 수 있는 세 번째 방법을 찾은 다음 데이터를 처리할 수 있습니다.
하지만 this.shopList 개체에 다른 개체 레이어가 포함되어 있으면 어떻게 될까요? .each()에 .each()의 또 다른 레이어가 포함되고 .each()의 또 다른 레이어가 포함되어 있다면 이 문제가 해결되지 않을까요? 이 방법 외에도 더 좋은 방법이 있습니다.
더 간단하고 직접적인 방법은 먼저 데이터를 변수에 할당하고 데이터를 원하는 형식으로 처리한 다음 this.shopList에 복사하는 것입니다. 이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
위 내용은 vue+storejs가 데이터 가져오기를 처리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!