Noob to Angular2。私はwhatsappクローンのチュートリアルに従っており、このエラーに遭遇しました。角度タイプ 'Observable <Message[]>'は 'Observable <Message[]>'タイプに割り当てられません
タイプ 'Observable'は、 'Observable'タイプに割り当てられません。プロパティ 'source'は保護されていますが、タイプ 'Observable'は 'Observable'から派生したクラスではありません。私は
this.messages
が、予想とは異なるタイプであるので、次のコードを受け入れることが、私は、私はそれを作るためにそれを変更する方法についてはそれほどよく分からないので、新しいだとされていないことを理解し
import { Component, OnInit } from '@angular/core';
import { NavParams } from 'ionic-angular';
import { Chat, Message } from "api/models/chatsModel";
import { Messages } from "../../../api/collections/chatsCollection";
import { Observable } from "rxjs";
/*
Generated class for the Messages page.
See http://ionicframework.com/docs/v2/components/#navigation for more info on
Ionic pages and navigation.
*/
@Component({
selector: 'page-messages',
templateUrl: 'messages.html'
})
export class MessagesPage implements OnInit {
selectedChat: Chat;
title: string;
picture: string;
messages: Observable<Message[]>;
constructor(navParams: NavParams) {
this.selectedChat = <Chat>navParams.get('chat');
this.title = this.selectedChat.title;
this.picture = this.selectedChat.picture;
}
ngOnInit() {
let isEven = false;
this.messages = Messages.find({chatId: this.selectedChat._id},
{ sort: {createdAt: 1} }
).map((messages: Message[]) => {
messages.forEach((message: Message) => {
message.ownership = isEven ? 'mine' : 'other';
isEven = !isEven;
});
return messages;
});
}
}
受け入れ。どんな助けでも大歓迎です。ありがとうございました!
混合クラスやインタフェースではありませんされているん '「../../../ API /コレクション/ chatsCollection」'別のプロジェクトを参照してください。 ?別の 'node_modules'ディレクトリでは?そうであれば、2つの 'rxjs'パッケージは同じものと見なされないので、それは問題です。したがって、タイプエラーです。パッケージが同じ名前を共有するだけでは不十分です。それらがディスク上の別の場所にある場合、それらは異なっています。 – cartant
私のルートディレクトリ内の@cartant私は自身のnodes_modulesを含むapiフォルダを持っています。そのフォルダは流星バックエンド専用です。私はこのチュートリアルのhttp://agapan-meteor.com/tutorials/whatsapp2/に従っています。私は後でチュートリアルで、api/node_modules/rxjsにあるrxjsから流星観測可能なものをインポートする必要があることを知っています。私はチュートリアルの残りの部分を実行して、それがうまくいくかどうかを確認して、あなたが何を言っているかを確認する必要があります。 – RickD