2015-01-05 43 views
0

我在我的控制器列表中的新名單:如何創建一個基於舊的AngularJS

$scope.newsLists = [ 
    { newsName: list1, newsStatus: isOpen }, 
    { newsName: list2, newsStatus: isOpen }, 
    { newsName: list3, newsStatus: isOpen }, 
    { newsName: list4, newsStatus: isClosed } 
]; 

然後我想創建基於此$scope.newsList另一個列表。

如:

$scope.valueNewsLists = $scope.newsLists(list.newsStatus == isOpen); 

但我不知道如何以正確的方式創建$scope.valueNewsLists

我確實需要這個列表,因爲我必須爲頁面編寫一個函數。

如果有人對此問題有說明,我將非常感激!

+0

http://underscorejs.org/#filter – tom10271

+0

$ scope.valueNewsLists = $ scope.newsLists.filter(函數(消息){返回news.newsStatus === 'ISOPEN'})看到這個[陣列.prototype.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) – aarosil

+0

@aarosil你基本上已將我的回答複製到你的評論 –

回答

1

內置的Javascript Array.prototype.filter功能可以過濾器存在數組:

var isOpen = function(element) { 
    return element.newsStatus == isOpen 
} 
$scope.valueNewsLists = $scope.newsLists.filter(isOpen); 
0

你可以爲了得到你想要的結果在模板中使用的過濾器。

<div ng-repeat="list in newsList| filter:{newsStatus:'isOpen'}"> 
    <input ng-model="list.newsName" /> 
</div>