来自社交教程的应用程序,其中angular2卡在Android

时间:2016-10-17 00:49:53

标签: android angular angular-meteor

我正在关注meteor和angular 2的教程,当我到达第11步使用PhoneGap在Android或iOS上运行您的应用时,我无法在我的Android设备上运行。< / p>

这是我从控制台获得的输出。

Error: Uncaught (in promise): Error: Error in ./AppComponent class AppComponent_Host - inline template:0:0 caused by: The selector "app" did not match any elements

这是我到目前为止在app.component.ts文件中的内容:

import { Component } from '@angular/core';

import template from './app.component.html';

@Component({
  selector: 'app',
  template
})
export class AppComponent {}

该应用程序在Web浏览器上运行良好。我认为这可能是路由器的问题,但我不太确定。

这是来自app.routes.ts的代码

import { Route } from '@angular/router';
import { Meteor } from 'meteor/meteor';

import { PartiesListComponent } from '../parties/parties-list.component';
import { PartyDetailsComponent } from '../parties/party-details.component';

export const routes: Route[] = [
  { path: '', component: PartiesListComponent },
  { path: 'party/:partyId', component: PartyDetailsComponent}
];

这是index.html:

<head>
    <base href="/" />
</head>
<body>
    <app>Loading...</app>
</body>

这是app.component.html

<div>
    <router-outlet></router-outlet>
</div>

它被重定向到PartiesListComponent,但只是抛出该错误并停留在加载上。谢谢。

1 个答案:

答案 0 :(得分:2)

已解决

这是main.ts中的原始代码(摘自教程网站)

import 'angular2-meteor-polyfills';

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './imports/app/app.module';

const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);

我发现本教程已经过时(再次),这是一种引导应用程序的新方法。

使用下一个代码,该应用程序在Android上正常工作。

import 'angular2-meteor-polyfills';

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { Meteor } from "meteor/meteor";
import { AppModule } from './imports/app/app.module';

enableProdMode();

Meteor.startup(() => {
   platformBrowserDynamic().bootstrapModule(AppModule);
});

我希望这有助于某人。