简体   繁体   English

Angular js 过滤器在某些移动设备上不起作用

[英]Angular js filter not working on some mobile devices

i am trying to filter an angular js array using custom filters in a controller,我正在尝试使用控制器中的自定义过滤器过滤一个有角度的 js 数组,

the filters correctly worked on some mobile devices while it doesn't work on some.过滤器在某些移动设备上正常工作,但在某些移动设备上不起作用。

Please see my code below请看下面我的代码

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);
});

and my html和我的 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>

The issue was the .find() function, it was not supported on some browsers and OS , so i had to use polyfill function here问题是 .find() 函数,它在某些浏览器和操作系统上不受支持,所以我不得不在这里使用 polyfill 函数

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find#Polyfill https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find#Polyfill

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM