я пытаюсь отфильтровать массив angular js, используя пользовательские фильтры в контроллере,
фильтры корректно работали на некоторых мобильных устройствах, но не работали на некоторых.
Пожалуйста, смотрите мой код ниже
var app = angular.module('myApp', []);
function filter(input, filterarr) {
return input.filter(function(e1){
return filterarr.find(function(e2) {
return e1.sender === e2.sender && e1.receiver === e2.receiver;
});
});
}
app.controller('myCtrl', function($scope) {
var messages = [
{sender:'fred', receiver:'josh', msg:'HI'},
{sender:'josh', receiver:'fred', msg:'i DEY'},
{sender:'josh', receiver:'racheal', msg:'hw re u2?'},
{sender:'barack', receiver:'angela', msg:'Dear'},
{sender:'fred', receiver:'josh', msg:'Hello'},
{sender:'angela', receiver:'barack', msg:'Moin'},
{sender:'josh', receiver:'racheal', msg:'hw re u?'}
];
var name1 = 'fred';
var name2 = 'josh';
var myFilter = [{sender: name1, receiver: name2},{sender: name2, receiver: name1}];
$scope.messages = filter(messages, myFilter);
});
и мой html
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<div ng-repeat="msg in messages">
Sender : {{ msg.sender }} MSg : {{ msg.msg }} Receiver : {{ msg.receiver }}
</div>
</div>
Sender : {{ msg.sender }} MSg : {{ msg.msg }} Reciever : {{ msg.reciever }}
, приемник вместо приемника. - person pgrodrigues   schedule 02.05.2016filter
. Я думаю, другое имя, по крайней мере, улучшит читаемость;) - person Fidel90   schedule 02.05.2016