首页 > 解决方案 > Account 类型的参数不能分配给参数类型 any[] angular 6

问题描述

嘿,我的account.service.ts收到此错误

Account 类型的参数不能分配给 any[] 类型的参数

我目前使用 angular 6"

这是我的代码,account.service.ts

import { Injectable } from '@angular/core';
import { AngularFireList, AngularFireObject, AngularFireDatabase } from 'angularfire2/database';
import { Account } from '../models/Account';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map';

@Injectable()
export class AccountService {
  accounts:AngularFireList<any[]>;
  account:Observable<any>;
  accountRef:AngularFireObject<any>;

  constructor(public af:AngularFireDatabase) { 
    this.accounts = this.af.list('/users') as AngularFireList<Account[]>;
    this.account = this.accounts.snapshotChanges().map(changes => {
      return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
    });
  }
  getAccounts(){ 
    return this.account;
  }  

 newAccount(account:Account){
  this.accounts.push(account); ==> **Error code on account**

  } 

  getAccount(id:string){
    this.accountRef = this.af.object('/users/'+id) as AngularFireObject<Account>;
   return this.accountRef;
  }
  updateAccount(id:string, account:Account){
    return this.accounts.update(id, account); ==> *Error code on line account*
  }
  deleteAccount(id:string){
    return this.accounts.remove(id);
  }
}

我的模型,Account.ts

export interface Account{
    key?:string;
    email?:string;
    nama?:string;
    fakultas?:string;
    jenisKelamin?:string;
}

标签: angular6

解决方案


您不需要将其设为任何数组,AngularFireList<any[]>;只需简单地将其设为任何类型,因为AngularFireList<any>; Any 本身意味着任何类型,如 observales 、 int 数组等。


推荐阅读