0

データベースからのみ読み取る単純なMeteor Angular 2アプリで遊んでいます。データベースを変更する別のアプリがあります。しかし、データベースを変更すると、Meteor アプリでエラーが発生しました。

Exception in queued task: EXCEPTION: Error in client/match.html:0:19
ORIGINAL EXCEPTION: TypeError: Cannot read property 'league' of undefined
ORIGINAL STACKTRACE:
TypeError: Cannot read property 'league' of undefined
at DebugAppView._View_MatchComponent0.detectChangesInternal (MatchComponent.template.js:101:59)
at DebugAppView.AppView.detectChanges (http://localhost:3001/packages/modules.js?hash=5bea6cc36ccb7076b2a2834b250a3c141ff0cd78:57326:14)
at DebugAppView.detectChanges (http://localhost:3001/packages/modules.js?hash=5bea6cc36ccb7076b2a2834b250a3c141ff0cd78:57415:44)
at DebugAppView.AppView.detectViewChildrenChanges (http://localhost:3001/packages/modules.js?hash=5bea6cc36ccb7076b2a2834b250a3c141ff0cd78:57346:34)
at DebugAppView._View_MatchesComponent1.detectChangesInternal (MatchesComponent.template.js:106:8)
at DebugAppView.AppView.detectChanges (http://localhost:3001/packages/modules.js?hash=5bea6cc36ccb7076b2a2834b250a3c141ff0cd78:57326:14)
at DebugAppView.detectChanges (http://localhost:3001/packages/modules.js?hash=5bea6cc36ccb7076b2a2834b250a3c141ff0cd78:57415:44)
at DebugAppView.AppView.detectContentChildrenChanges (http://localhost:3001/packages/modules.js?hash=5bea6cc36ccb7076b2a2834b250a3c141ff0cd78:57341:37)
at DebugAppView._View_MatchesComponent0.detectChangesInternal (MatchesComponent.template.js:65:8)
at DebugAppView.AppView.detectChanges (http://localhost:3001/packages/modules.js?hash=5bea6cc36ccb7076b2a2834b250a3c141ff0cd78:57326:14)
ERROR CONTEXT:
[object Object]

私はコレクションの自動公開を使用しています:

import {Mongo} from 'meteor/mongo';
export let MatchCollection = new Mongo.Collection('matches');

角度成分:

export class MatchesComponent
{
    matches;
    constructor() {
        this.matches = MatchCollection.find();
    }
}

注: Meteor Blaze バージョンは問題なく動作します。Meteor Angular2 は初めてです。

助けてくれてありがとう。

4

2 に答える 2

1

を使用していると思います*ngFor

このより安定した方法を使用できます

this.matches = MatchCollection.find().fetch();

MatchCollection.find();戻りますMongo.Cursor<any>

MatchCollection.find().fetch();戻り値Array<any>

奇妙なことに、バグはすでに修正されているはずです...

于 2016-05-31T16:30:29.040 に答える
0

leagueangular2ビューがどこかで使用しているドキュメント内のプロパティ名が外部変更によって削除されたようです。

経由でドキュメントをmeteor mongo見て、外部プロセスによって変更される前と後にドキュメントがストレージ内でどのように見えるかを確認してください。

于 2016-05-30T13:35:51.797 に答える