javascript - 过滤器不能以 Angular 工作?

标签 javascript angular firebase firebase-realtime-database

我有一个从 firebase 接收的简单数据,但过滤器不适用于该数据。 我搜索了很多帖子,但没有任何帮助。 缺少什么。?任何帮助

如果它在 OnInit() 中,我可以获得相同的数据。 下面是我的代码:

export class SignUpComponent implements OnInit {
ngOnInit() {
const someEvemnts = [
{type: 'attack', value: 1, target: 'dorkman'},
{type: 'yaeed', value: 2, target: 'dorkman'},
{type: 'attack', value: 3, target: 'fluffy'},
{type: 'attack', value: 4, target: 'dorkman'},
]
const total = someEvemnts
 .filter(event => event.type== 'attack')
 .filter(event => event.target== 'dorkman')
console.log(total); // works fine 

let check = this.values; // works fine 
let check2 = this.values.filter(val => val) // not works 
console.log(check);
console.log(check2); // returns empty
this.SignIn();
}

SignIn(){
  firebase.database().ref('/companies').on('child_added', (data)=>{
      this.values.push(data.val())
  }
  )
}
values=[];
}

控制台:

console .

最佳答案

它不起作用,因为您调用了 this.SignIn();在调用 console.log 后填充“Values”变量。因此,当您进行控制台操作时,“值”为空。

变量流行后执行“console.log”。

试试这个:

export class SignUpComponent implements OnInit {
ngOnInit() {
const someEvemnts = [
{type: 'attack', value: 1, target: 'dorkman'},
{type: 'yaeed', value: 2, target: 'dorkman'},
{type: 'attack', value: 3, target: 'fluffy'},
{type: 'attack', value: 4, target: 'dorkman'},
]
const total = someEvemnts
 .filter(event => event.type== 'attack')
 .filter(event => event.target== 'dorkman')
console.log(total); // works fine 

this.SignIn();
}

SignIn(){
  firebase.database().ref('/companies').on('child_added', (data)=>{
      this.values.push(data.val())

      let check = this.values; // works fine 
      let check2 = this.values.filter(val => val) // not works 
      console.log(check);
      console.log(check2); // returns empty
  }
  )
}
values=[];
}

关于javascript - 过滤器不能以 Angular 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904082/

相关文章:

javascript - javascript 中特殊字符的 String.fromCharCode 问题

Angular 如何避免选中复选框?

javascript - 如何自动选择旋转木马中的单选按钮

php - 如何在不知道键值的情况下在php中读取JSON数据

ios - 在标签中显示某个 firebase 子项的值

firebase - Firestore 安全规则 : Where's hasOnly function?

javascript - 关闭 json 数据填充表

javascript - 如何从 javascript/jquery 中的多个复选框中获取附加值?

javascript - 当我绑定(bind) false 值时,我的 Angular 7 Web 组件 @Input<boolean> 不起作用

angularjs - tsconfig 模块选项 - 'System' 是指 SystemJS 吗?