我有用戶對象定義如下。如何使用AngularJS將過濾器應用於多個對象?
$scope.users = [{id: 1, name: 'Adam', friends: [{name: 'John', age: 21, sex: 'M'}, {name: 'Brad', age: 32, sex: 'M'}]}]
然後,我有以下代碼:
<div ng-repeat="user in users>
<input type="text" ng-model="searchText">
<div ng-repeat="friend in user.friends | filter:searchText">
{{user.name}} {{friend.name}} {{friend.age}}
</div>
</div>
現在,當我在文本框中鍵入的文本:「SEARCHTEXT」,我希望該過濾器顯示用戶名和名稱/朋友的年齡。任何人都可以幫助我如何做到這一點?
如果我是正確的,那麼我認爲我需要爲此創建一個自定義過濾器,或者是否有任何其他方式可以實現此目的?
非常感謝Mark!但是這個filterFilter(friends,searchText)會過濾所有的朋友對象,即姓名,年齡和性別,或者只是名字和年齡。我的要求是我只想'名稱'和'年齡'是可搜索的,並且結果僅在朋友的這兩個對象上被過濾,因爲那些字段被顯示而不是'性' –
查看更新的答案。 –
我意識到這是多少年......但是當我的輸入的'searchText'在濾鏡內部總是未定義時會發生什麼?很明顯,範圍問題顯而易見,但爲什麼? – Clev3r