>웹 프론트엔드 >JS 튜토리얼 >vue가 storejs로 얻은 데이터를 처리할 때 발생하는 여러 문제에 대한 요약

vue가 storejs로 얻은 데이터를 처리할 때 발생하는 여러 문제에 대한 요약

亚连
亚连원래의
2018-05-25 16:18:451817검색

이 글은 주로 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){})

로 표시합니다. 하지만 다음과 같이 vue에서 직접 사용할 수도 있습니다.

created(){
    if(!store.get(&#39;?shopCar&#39;)){
      this.isEmpty = true;
    }else{
      //对数据处理 将商店中名中的地址分离出来
      var shopList = store.get(&#39;shopCar&#39;)
      $.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()의 또 다른 레이어가 포함되어 있다면 이 문제가 해결되지 않을까요? 이 방법 외에도 더 좋은 방법이 있습니다.
rrreee

더 간단하고 직접적인 방법은 먼저 데이터를 변수에 할당하고 데이터를 원하는 형식으로 처리한 다음 이 변수에 복사하는 것입니다. .shopList이면 충분합니다.
this.shopList에 데이터를 직접 할당하면 왜 데이터를 처리할 수 없나요?

이유는 this.shopList에 데이터를 할당하면 Vue 데이터의 양방향 바인딩이 구현되기 때문입니다. 위 내용은 제가 여러분을 위해 정리한 내용입니다. 앞으로 도움이 되길 바랍니다.

관련 기사 : ajax 매개 변수를 구성하여 JSON에 요소를 형성하여 브라우저 인터 셉션 효과를 방지하기 위해 새로운 양식을 열기 위해 ajax 콜백을 구성하여 ajax에서 약간의 사소한 문제를 해결하기위한 새로운 양식을 열어줍니다.

위 내용은 vue가 storejs로 얻은 데이터를 처리할 때 발생하는 여러 문제에 대한 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.