2017-03-11 21 views
1

我開始學的角度我嘗試顯示由categorie數據;我得到了service.ts這樣的數據:angular2與類型的腳本

getFoodsByCat(id :number): Observable<any> { 
    return this.http.get('http://livrer/api/menu/' +id) 
    .map(
     (response: Response) => { return response.json().foods; 
     } 
    );} 

而且蔭尋求創建一個函數來在它手動,因爲過時categorie_id我有7個類別1至7。我想在函數onGetFoodsByCategorie(ID)的財產以後我不知道是什麼:

export class FoodsComponent implements OnInit { 
foods: Food[]; 
id : number; 

    constructor(private foodService: FoodService) { } 

    ngOnInit() { 
    } 
onGetFoodsByCategorie(id){ 
this.foodService.getFoodsByCat(this.id) 
.subscribe(
(foods: Food[])=> this.foods = foods, 
(error : Response)=> console.log(error) 
); 
    } 

如何做到這一點的邏輯是一樣的工作:

<li (click)="onGetFoodsByCategorie(2)">Burger</li> 
<li (click)="onGetFoodsByCategorie(3)">Sandwichs</li> 
<li (click)="onGetFoodsByCategorie(4)">PIZZAS</li> 
<li (click)="onGetFoodsByCategorie(5)">Salades</li> 
<li (click)="onGetFoodsByCategorie(6)">Desserts</li> 
<li (click)="onGetFoodsByCategorie(7)">Boissons</li> 

因爲它無法顯示。

+0

爲什麼做邏輯?這段代碼有什麼問題? – UnholySheep

+0

請在你的問題中明確 –

+0

我錯過了功能onGetFoodsByCategorie(id)我不知道是什麼。 – MedKostali

回答

0

通過

this.foodService.getFoodsByCat(id) 

更換

this.foodService.getFoodsByCat(this.id) 

而且從組件移除id領域,因爲它是無用的。

+0

@nizet感謝你的回覆,我得到這個錯誤:EXCEPTION:錯誤./FoodsComponent類FoodsComponent - 內聯模板:16:10引起的:無法找到一個不同的'object'類型的支持對象'[object Object]'。 NgFor僅支持綁定到陣列等陣元。我通過以下方式獲取數據: MedKostali

+0

您從服務中獲得的內容不是您認爲的數組。使用您的調試器,查看開發工具網絡面板中的響應主體。 –

+0

@nizet如何從此響應獲取數據 – MedKostali