Angular Ionic 2错误:Typescript错误提供的参数与调用目标的任何签名不匹配
我正在学习关于Ionic 2应用程序的教程。添加以下代码时,我收到一个错误:Angular Ionic 2错误:Typescript错误提供的参数与调用目标的任何签名不匹配,angular,typescript,parameters,ionic2,Angular,Typescript,Parameters,Ionic2,我正在学习关于Ionic 2应用程序的教程。添加以下代码时,我收到一个错误: removeChat(chat: Chat): void { this.chats = this.chats.map<Chat[]>(chatsArray => { const chatIndex = chatsArray.indexOf(chat); chatsArray.splice(chatIndex, 1); return chatsA
removeChat(chat: Chat): void {
this.chats = this.chats.map<Chat[]>(chatsArray => {
const chatIndex = chatsArray.indexOf(chat);
chatsArray.splice(chatIndex, 1);
return chatsArray;
});
}
removeChat(chat:chat):无效{
this.chats=this.chats.map(chatsArray=>{
const chatIndex=chatsArray.indexOf(chat);
chatsArray.拼接(chatIndex,1);
返回chatsArray;
});
}
在类为“option remove”的按钮上发生单击事件时调用此函数
{{chat.title}
{{chat.lastMessage.content}
{{chat.lastMessage.createdAt | amCalendar}}
去除
不确定错误消息的准确程度,但它的行this.chats.map(chatsArray=>{
将采用对象参数非数组的函数。在这种情况下不需要使用此函数。
尝试:
this.chats
是一个对象数组还是数组?它是一个对象数组objects@helenkitt我无法重现此问题…请确保已正确设置链接中的所有内容。如果无法解决,请尝试在plunker中重现此问题:)尝试改为使用上述代码,但这产生了两个新错误:Typescript错误属性'indexOf'在类型'Observable'上不存在。
和Typescript错误属性'splice'在类型'Observable'上不存在。
因此chats是一个可观察的?在这种情况下,您可能缺少导入'rxjs/add/operator/map'
chats是Observable类型-我添加了此导入,但仍然是原始错误消息。我已经导入了Observable,是否也必须单独导入函数?是的。您使用的大多数rxjs函数都需要明确导入。
<ion-content class="chats-page-content">
<ion-list class="chats">
<ion-item-sliding *ngFor="let chat of chats | async">
<button ion-item class="chat">
<img class="chat-picture" [src]="chat.picture">
<div class="chat-info">
<h2 class="chat-title">{{chat.title}}</h2>
<span *ngIf="chat.lastMessage" class="last-message">
<p *ngIf="chat.lastMessage.type == 'text'" class="last-message-content last-message-content-text">
{{chat.lastMessage.content}}
</p>
<span class="last-message-timestamp">{{chat.lastMessage.createdAt | amCalendar }}</span>
</span>
</div>
</button>
<ion-item-options class="chat-options">
<button ion-button color="danger" class="option option-remove" (click)="removeChat(chat)">Remove</button>
</ion-item-options>
</ion-item-sliding>
</ion-list>
removeChat(chat: Chat): void {
const chatIndex = this.chats.indexOf(chat);
this.chats.splice(chatIndex,1);
}