2017-03-21 19 views
1

Ionic 2アプリケーションのチュートリアルhttps://angular-meteor.com/tutorials/whatsapp2/ionic/chats-pageに従っています。私は、エラーを受け取り、私は次のコードを追加するとき:Ionic 2エラー:Typescript Error指定されたパラメータが呼び出し対象のシグネチャと一致しません

removeChat(chat: Chat): void { 
    this.chats = this.chats.map<Chat[]>(chatsArray => { 
     const chatIndex = chatsArray.indexOf(chat); 
     chatsArray.splice(chatIndex, 1); 

     return chatsArray; 
    }); 
} 

この機能は、

<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> 

わからない「オプション削除」クラスとボタンのクリックイベントで呼び出されていますエラーメッセージの正確さは正確ですが、this.chats.map<Chat[]>(chatsArray => {という行に問題があるようです。

+0

'this.chats'はオブジェクトや配列の配列ですか? –

+0

これはオブジェクトの配列です – helenkitt

+0

@helenkitt問題を再現できませんでした...リンクのようにすべてが正しく設定されていることを確認してください。解決できない場合は、plunkerで問題を再現してみてください:) – Alex

答えて

2

Array.prototype.mapは、配列ではなくオブジェクトパラメータを持つ関数を使用します。このシナリオでは使用する必要はありません。 試してみてください:

removeChat(chat: Chat): void { 
    const chatIndex = this.chats.indexOf(chat); 
    this.chats.splice(chatIndex,1); 
} 
+0

上記のコードを使用してみましたが、2つの新しいエラーが発生しました: 'Typescript Error プロパティ' indexOf 'がタイプ' Observable 'に存在しません。 'Typescript Error プロパティ' splice 'がタイプ' Observable 'に存在しません。 – helenkitt

+0

チャットは観測可能ですか?その場合は、 'import 'rxjs/add/operator/map'' –

+0

のチャットがObservableタイプのです。このインポートを追加しましたが、依然として元のエラーメッセージです。私は既にObservableをインポートしていますが、個別に関数をインポートする必要はありますか? – helenkitt

関連する問題