Vue項目中v-for無法渲染數據


  在Vue項目中,我們想要實現下面的布局效果

  

 

  后端返回的數據格式如下,可以看出產品列表五張圖的數據位於同一個數組中

  

 

   而我的html結構如下:

      

 

  我希望直接渲染左邊一張大圖,然后右邊的四張小圖通過v-for進行遍歷,這就需要截取后四條數組數據。我首先想到的就是通過數組的slice方法直接在v-for的位置截取product_list數組的后四條數據。

  就是下面的代碼操作:

  

 

  這時,發現圖片不但無法渲染,點開控制台,發現連img標簽都沒有渲染出來。這是為什么呢?

  這是因為數組的slice方法並沒有修改原數組,而是在原數組的基礎上取出部分元素重新生成一個新數組。這就需要知道這個拷貝出來的新數組,並沒有存到data數據中。而Vue視圖層中綁定的數據必須要求出現在data或者computed數據中,否則就無法進行頁面渲染。

  原因找到了,那又該如何解決呢,接下來就想到了在接收到后端返回數據的時候對數據格式進行修改。修改方式和修改后的數據結構如下:

        

 

  html代碼中渲染頁面的方式也就可以換成如下的方式,也就實現了想要的頁面布局效果。

  

 

  此外還可以采用計算屬性的方式,對data中的floorData數據格式進行修改,未完待續。。。。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM