angular6 - 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;
}
解决方案
您不需要将其设为任何数组,AngularFireList<any[]>;
只需简单地将其设为任何类型,因为AngularFireList<any>;
Any 本身意味着任何类型,如 observales 、 int 数组等。
推荐阅读
- c# - 找不到 SQLite.Interop.dll
- java - Tomcat 服务器变得缓慢且无响应
- android - 有一些库或工具和库的组合不兼容,或者可能导致错误
- memory-management - 将虚拟内存映射到 DRAM
- java - 仅更改一个文件时,Maven是否会重建整个项目?
- node.js - 为什么我的代码没有在我的表中放任何东西?
- gmail - AMPHTML 电子邮件 - AMP 表单在 Android 上被阻止并且在 IOS 上不工作
- c# - 如何在 Vuforia 世界坐标中插入静态对象而不将其附加到锚平面或锚定 Mid Air Element?
- python - Extracting values for transactions in website response using Python Pandas
- reactjs - reactjs数组映射方法