使用角2和类型记录的Meteor应用程序似乎没有在客户端加载服务器数据:我遵循了这个教程,打开了自动操作,但每次尝试在客户端显示不同集合的数据都失败了。
与教程(RC4)不同的是,我使用的是角2 RC5。我的客户的main.ts看起来如下:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);现在,我尝试使用集合"parties“(自动打开)从教程中复制非常简单的示例。
我创建了文件both/collections/parties.collection.ts
import {Mongo} from 'meteor/mongo';
import {Party} from '../interfaces/party.interface';
export const Parties = new Mongo.Collection<Party>('parties');我没有使用app.component.ts,而是将集合绑定到另一个现有的功能组件中,如下所示:
import { Component } from '@angular/core';
import { Mongo } from 'meteor/mongo';
import template from './my-component.component.html';
import { Parties } from '../../../both/collections/parties.collection';
import { Party } from '../../../both/interfaces/party.interface';
@Component({
selector: 'my-selector',
template
})
export class MyComponent
{
parties: Mongo.Cursor<Party>;
constructor() {
this.parties = Parties.find();
alert(this.parties.count());
}
}如果我在mongo控制台中调用db.parties.find({});,它将返回三行,因为我已经设置了从示例中插入的服务器端。
我的html模板与本教程中的模板相同:
<ul>
<li *ngFor="let party of parties">
<a [routerLink]="['/party', party._id]">{{party.name}}</a>
<p>{{party.description}}</p>
<p>{{party.location}}</p>
<button (click)="removeParty(party)">X</button>
</li>
警报(this.parties.count())返回"0“--同时尝试Mongo.Cursor和Mongo.Cursor。我还尝试获取游标并通知数组。每次我得到"0“和错误消息时,NgFor都只支持绑定到诸如数组之类的Iterable,但是我认为它失败了,因为客户机没有得到服务器所拥有的数据。
发布于 2017-05-22 16:04:21
这不再是最近版本的angular2.0流星的问题了。
https://stackoverflow.com/questions/39452518
复制相似问题