gpt4 book ai didi

javascript - Angular js 过滤器不适用于某些移动设备

转载 作者:行者123 更新时间:2023-11-30 00:09:49 24 4
gpt4 key购买 nike

我正在尝试使用 Controller 中的自定义过滤器来过滤 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>

最佳答案

问题是 .find() 函数,某些浏览器和操作系统不支持它,所以我不得不在这里使用 polyfill 函数

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

关于javascript - Angular js 过滤器不适用于某些移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36981286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com