2015-09-22 126 views
1

我有一個包含不同應用程序的標題名稱的值數組。在angularjs中過濾數組值

例子:

$scope.badge = [{title: 'Incidents'},{title: 'News'}] 

在主要頁面,在這裏我把所有不同的應用程序,我想爲特定應用程序獲取的名字。

如何過濾這些值,以便爲每個應用程序獲取正確的標題?

事情是這樣的:

<span>{{badge.title}}</span> 

UPDATE /解決方案

我得到它的工作。解決的辦法是如下:

$scope.badges = {   
        titles: [ 
           {id: 2, name: 'Incidents'}, 
           {id: 3, name: 'News'} 
          ] 
       }; 

<div ng-repeat="title in badges.titles | filter:{id:2}">  
    <ul> 
     <li>                 
      <a class="{{title.name}}" ng-click="addNew()">Add New {{title.name}}</a> 
     </li> 
    </ul> 

對於我現在的目的,是爲我做。如果有更優雅的動態解決方案,我想了解它。

非常感謝大家。

+0

你是什麼意思? – joyBlanks

+0

使用ng-repeat遍歷$ scope.badge。 –

+1

是,你想過濾出正確的應用程序名稱的標準是什麼? –

回答

0

如果您使用的瀏覽器支持Array.prototype.find,則可以這樣做。

$scope.badge = [{label: 'Incidents', appName: 'incident'},{label: 'News', appName: 'news'}]; 

//I'm not positive how to get the app name, but APP_NAME can be replaced with that 
<span>{{badge.find(function(option) { return option.appName == APP_NAME})}}</span> 
+0

我發佈了我試過的代碼,但無法正常工作。 –