我有一个Ionic 2应用程序,在各个地方都有吐司通知.
一个很好的例子是用户在应用程序上更新他们的个人资料并运行一些验证检查.如果用户未通过某些验证,我可能会调用以下内容:
let toast = this.toastCtrl.create({
message: 'Sorry, your password must be at least 6 characters long. Your account was not updated.',
duration: 3000,
position: 'top'
});
toast.present();
Run Code Online (Sandbox Code Playgroud)
没有问题.它只显示3秒然后消失.
当多次同时显示时出现问题.例如,用户可以键入6个字符的密码,但不会因其他原因进行验证,因此会引发另一个Toast通知:
let toast = this.toastCtrl.create({
message: 'Sorry, your passwords do not match. Your account was not updated.',
duration: 3000,
position: 'top'
});
toast.present();
Run Code Online (Sandbox Code Playgroud)
这导致2个吐司重叠,一个将永久保留.这两个重叠不是一个问题,但一个无限期的事实是一个巨大的问题.
我想这是因为我toast每次都有效地覆盖变量.
解决这个问题的最佳方法是什么?我不希望有toast1,toast2等等,因为这不会解决问题,因为用户可能会推出同样Toast通知两次(<6个字符的密码,提交两次).
我正在尝试创建一个过滤器函数,该函数可以从给定的字符串键集中返回与我正在寻找的值匹配的数据结果
数组的例子:
let data = [
{ id:1 , data:{ name:"sample1",address:{ cat:"business" } } },
{ id:2 , data:{ name:"sample2",address:{ cat:"office" } } },
{ id:3 , data:{ name:"sample3",address:{ cat:"office" } } },
{ id:4 , data:{ name:"sample4",address:{ cat:"office" } } }
{ id:5 , data:{ name:"sample5",address:{ cat:"home" } } }
{ id:6 , data:{ name:"sample6",address:{ cat:"home" } } }
]
function filter( collection , value ,key ){
//code
}
let result = filter( data , "business" , [ "data","address","cat" …Run Code Online (Sandbox Code Playgroud)