аргумент типа Account нельзя назначить параметру типа any [] angular 6 - PullRequest
0 голосов
/ 26 июня 2018

hayy my account.service.ts получая эту ошибку

аргумент типа Account нельзя назначить параметру типа any []

и я сейчас использую угловую 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;
}

1 Ответ

0 голосов
/ 26 июня 2018

Вам не нужно создавать какой-либо массив из любого AngularFireList<any[]>;, просто просто сделайте его любого типа как AngularFireList<any>; Любой сам по себе означает любой тип, такой как observales, массив int и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...