2014-11-14 28 views
0

我認爲對於已經做到這一點的人來說這很容易,但我無法弄清楚如何去做。根據AngularJS中的按鈕點擊顯示特定對象

我有一個webservice,返回一個表與許多類別,並按類別分類的許多文章。 這可能是這樣的:

{u'categories': [ 
       {u'articles': [{u'article_id': 3, 
           u'article_name': u'Tarte au citron', 
           u'article_price': u'5.50'], 
        u'category_id': 2, 
        u'category_name': u'Desserts'}, 
       {u'articles': [{u'article_id': 1, 
           u'article_name': u'Coca-Cola', 
           u'article_price': u'2.00'}, 
           {u'article_id': 2, 
           u'article_name': u"Jus d'orange", 
           u'article_price': u'3.00'], 
        u'category_id': 1, 
        u'category_name': u'Boissons'}]} 

在HTML模板,我有兩個「節」:一個顯示類別,而另一個顯示文章。

我想爲每個類別顯示一個按鈕,並且當用戶單擊此按鈕時,顯示該類別的每個文章的按鈕。請注意,相同的文章可以在許多類別

什麼可能是一個優雅的方式來做到這一點? 現在,我有$scope.cats_and_arts包含整個數組。

感謝您的幫助。

回答

0

是否這樣?或者可以有不同類別的相同文章?

<button ng-repeat="cat in cats_and_arts" ng-click="selectedCat = cat.category_id"> 
    {{cat.category_name}} 
</button> 

<div ng-repeat ="cat in cats_and_arts"> 
    <button ng-repeat="article in cat.articles" ng-show="cat.category_id == selectedCat"> 
    </button> 
</div> 
+0

相同的文章可以在很多類別:) – 2014-11-14 17:12:34