1. 程式人生 > >v-for迴圈遍歷:vue-商品列表查詢資料分類顯示,json資料格式的解析

v-for迴圈遍歷:vue-商品列表查詢資料分類顯示,json資料格式的解析

以餓了麼來舉例吧,我們要顯示下圖畫線框裡面的食物資訊,資料是遍歷json資料出來的,

json資料在呢?結構是醬紫的哭數組裡面放了多個物件。物件裡面放了陣列的同時又放了若干物件,我們要實現上圖的效果(將套餐類,特色雞公煲套餐分類顯示),就要把foods這個數組裡面的name,description,tips顯示出來尷尬

怎麼做呢?

首先要用v-for得到goods.json裡的每個物件,把它存到goods: [],陣列中並返回。下面就是查詢資料的的程式碼塊了

		data() {
			return {
				goods: [],
			}
		},
		
		created() {
			this.goodsList();

		},
		methods: {
			goodsList() {
				var tempList = [];
				var self = this;
				this.http.get('static/goods.json').then(function(response) {
					self.goods = response.data;
					console.log(self.goods)

				}).catch(function(error) {
					console.log(error);
				})

			}

		}

console.log(self.goods) 列印一下:有7條資料

然後,將這些資料通過htm標籤拼接顯示出來就好了,棒棒噠~~

。。。。。。。。。

吃瓜的:額,不對吧,這就顯示了?有點太容易了吧。。。

吃瓜的:資料沒解析完全吧?

吃瓜的。。。。

我:額。。。我去HTML裡面繼續解析。。

吃瓜的:吐血中。。。

接下來是我們切換下片場,來到HTML。。。

重頭戲1:遍歷goods陣列,獲取物件(上面剛剛返回出來了goods)

<dl v-for="items in goods">    <!--遍歷goods陣列-->

因為goods裡面裝的全是物件,所以就可以把“套餐類”和“特色雞公煲套餐”顯示粗來了:

<dt class="category_title"><strong class="category_name" >{{items.name}}</strong></dt>

重頭戲2:遍歷foods陣列

<dd class="fooddetails_root clearfix" v-for="it in items.foods"> 

這就可以將foods數組裡面的物件和陣列獲取到了,顯示食物名稱,描述,價格,月售

<!--顯示食物名稱-->
<p>{{it.name}}</p>   
<!--顯示食物評價-->
<p>{{it.description}}</p>
<!--顯示食物月售幾份-->
<p>{{it.tips}}</p>
<!--食物價格-->
<p>{{it.specfoods[0].price}}</p>

 OK了

下面是全部的html程式碼:

<div class="food_wrapper fl">
<dl v-for="items in goods">    <!--遍歷goods陣列-->
<dt class="category_title"><strong class="category_name" >{{items.name}}</strong></dt>
<!--得到物件裡面的foods陣列-->
<dd class="fooddetails_root clearfix" v-for="it in items.foods"> 
<!--顯示圖片-->
<span class="img_logo fl" style="height: 71px;"><img :src="it.image_path" alt="" /></span>
<section class="fooddetails_info fl">
<!--顯示食物名稱-->
<p>{{it.name}}</p>   
<!--顯示食物評價-->
<p>{{it.description}}</p>
<!--顯示食物月售幾份-->
<p>{{it.tips}}</p>
<!--食物價格-->
<p>{{it.specfoods[0].price}}</p>


</section>
</dd>
</dl>


</div>

相關推薦

v-for迴圈:vue-商品列表查詢資料分類顯示json資料格式解析

以餓了麼來舉例吧,我們要顯示下圖畫線框裡面的食物資訊,資料是遍歷json資料出來的, json資料在呢?結構是醬紫的數組裡面放了多個物件。物件裡面放了陣列的同時又放了若干物件,我們要實現上圖的效果(將套餐類,特色雞公煲套餐分類顯示),就要把foods這個數組裡面的nam

vue中通過v-for迴圈得到的值如何加到dom節點的屬性中以及vue將多選框選中的值渲染到頁面

話不多說直接上程式碼 <script> Vue.component('CheckBox',{ props:{ values:{ type:Array

【python學習筆記】for迴圈兩個列表失敗—— ValueError: too many values to unpack

for迴圈遍歷兩個列表失敗—— ValueError: too many values to unpack 問題來源: 我現在有兩個列表,一個是標題,一個是訪問量,我想在一個for迴圈中,獲取這兩個列表中同一位置的值,然後打印出來,記得好像之前看過

2.6 使用for迴圈檔案 2.7 使用while迴圈檔案 2.8 統計系統剩餘的記憶體 2.9 資料型別轉換計算(計算mac地址) 3.0 資料型別轉換(列表與字典相互轉換)

2.6 使用for迴圈遍歷檔案 open r:以只讀方式開啟 w: 以寫方式開啟 a: 以追加模式開啟 r+: 以讀寫模式開啟 w+: 以讀寫模式開啟(參見w) a+: 以讀寫模式開啟(參見a) rb: 以二進位制模式開啟 read 我們先寫一個檔案,叫1.txt 內容如下 111 22

Vue指令v-for陣列json物件的幾種方式

定義資料:   <script>     new Vue({         el:"#test",         data:{      

在Python中不用while和for迴圈列表

a = [1, 2, 3, 8, 9] def printlist(l, index): if index == len(l): return else: print(l[index]) printlist(l,

for迴圈列表的過程中不能刪除列表中的元素

在刷題的時候碰到一件很有意思的事,就是在Python中用迴圈遍歷列表中元素的時候,感覺還是按照下標進行訪問的,這時如果刪除掉了已經遍歷到的元素的時候,那麼刪除元素之後的列表的下標會重新排序,但是迴圈還是按照迴圈開始的時候列表的下標進行訪問的,這時會導致有些元素訪

java基礎學習總結(十八):切勿用普通for迴圈LinkedList

ArrayList與LinkedList的普通for迴圈遍歷 對於大部分Java程式設計師朋友們來說,可能平時使用得最多的List就是ArrayList,對於ArrayList的遍歷,一般用如下寫法: public static void main(String[] args) {

使用for迴圈字串時迴圈變數型別的坑

通常情況下,使用for迴圈可以通過遞增,也可以通過遞減,使用遞減遍歷程式碼如下: - (void)testFor { NSString *string = @"信不信由你"; for (int i = string.length - 1; i >= 0;

JAVA高階基礎(10)---TreeSet對自定義型別進行定製排序及增強for迴圈集合

TreeSet 自然排序 對於自定義型別,那麼要實現自然排序,需要去 Comparable 介面中的 compareTo 方法。在 compare To 方法中我們可以根據自己的業務要求,來實現自己的排序規則。 定製排序     在建立容器

shell中的for迴圈目錄

1 目錄結構說明 a. 檔名 convert_video_to_images.sh b. /User/document/list目錄下有A1目錄 c. A1目錄下有檔案v_Skiing_g01_c01.avi、v_Skiing_g01_c02.avi、v_Skijet

小程式-for迴圈的使用

.js檔案: Page({ /** * 頁面的初始資料 */ data: { datas:[ { title: '提交申請', txt: '選擇服務型別,填寫基本資訊,提交' }, { title: '材料稽核', txt: '收到電網企業電話,與

for迴圈linux當前目錄的結構

for i in `ls`;do echo ">>>"$i ;ls $i;done [[email protected] cache]# for i in `ls`;do echo ">>>"$i ;ls $i

java 傳入list集合 返回樹形選單for迴圈

public List<SysPermissionVO> getTreeMenu(List<SysPermissionVO> list,SysPermissionVO sysPermissionVO) { List parent = new ArrayList()

#C++11新特性 for迴圈容器#

#include<iostream> #include<string> using namespace std; string s = "hello"; for (auto &i : s ) i = toupper(i); //改

Shell for迴圈並動態注入引數到hive

假設你要執行一些資料,例如根據經銷商做統計,但是陣列有很多個,你懶得一個個執行,那麼應該怎麼辦? 某某經銷商->L0814 L2592 L0819 L4786 shell的for迴圈基礎語法 #常規遍歷 for i in 1 2 3 4 5

C# for迴圈字典裡面的所有元素

using System.Linq;//新增引用 using System; [ContextMenu("DebugTest")] public void MoviePlay() { Dictionary<string,

for迴圈陣列

js陣列隨機打亂輸出,直接上程式碼: <script> var arr = ["a","b","c"]; document.write("舊陣列:"+arr.join()); arr.sort(function() { return 0.5

shell指令碼--用for迴圈引數

1.當一個指令碼需要傳入的引數較多時,可以使用for迴圈進行引數遍歷示例:#!/bin/bashnumber=65              #定義一個退出值index=1                    #定義一個計數器if [ -z "$1" ];then     

element-ui使用v-forel-radio

<el-form-item label="員工性別" label-width="1rem" prop="sttusCodes"> <el-radio-group v-model="radio" @change="onRadioChange"