meteor -Angular2 チュートリアルを実行しようとしていますが、このページのセクション 8 までです。
コード スニペット 8.9 は次を示します。
app.routes.ts (RC4 に合わせたオリジナル)
import { RouterConfig, provideRouter } from '@angular/router';
import { Meteor } from 'meteor/meteor';
import { PartiesListComponent } from './imports/parties/parties-list.component';
import { PartyDetailsComponent } from './imports/parties/party-details.component';
const routes: RouterConfig = [
{ path: '', component: PartiesListComponent },
{ path: 'party/:partyId', component: PartyDetailsComponent, canActivate: ['CanActivateForLoggedIn'] }
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes),
{ provide: 'CanActivateForLoggedIn', useValue: () => !! Meteor.userId() }
];
ただし、これは Angular 2 RC4 用です。RC5 で動作するように、この時点までにアプリを変更しました。私の同じファイルは次のようになります。
app.routes.ts (RC5 に合わせて私が変更)
import {RouterModule, Routes} from '@angular/router';
import { Meteor } from 'meteor/meteor';
import {PartiesListComponent} from './imports/parties/parties-list.component';
import {PartyDetailsComponent} from './imports/parties/party-details.component';
const ROUTES: Routes = [
{ path: '', component: PartiesListComponent },
{ path: 'party/:partyId', component: PartyDetailsComponent, canActivate: ['CanActivateForLoggedIn'] }
];
export const APP_ROUTES = RouterModule.forRoot(ROUTES);
export const APP_ROUTER_PROVIDERS: any[] = [
{ provide: 'CanActivateForLoggedIn', useValue: () => !! Meteor.userId() }
];
app.module.ts
...
@NgModule({
imports: [
APP_ROUTES,
BrowserModule,
MeteorModule,
FormsModule,
ReactiveFormsModule],
declarations: [
AppComponent,
PartiesFormComponent,
PartiesListComponent,
PartyDetailsComponent,
LoginButtons
],
providers: [
FormBuilder,
APP_ROUTER_PROVIDERS // from app.routes.ts
],
bootstrap: [
APP_ROUTER_PROVIDERS,
AppComponent
]
})
export class AppModule { }
ただし、angular 2 は のオブジェクトが気に入らずAPP_ROUTER_PROVIDERS
、次のスタック トレースを報告します。
metadata_resolver.js:551Uncaught [オブジェクト Object] のすべてのパラメーターを解決できません: (?).CompileMetadataResolver.getDependenciesMetadata @ metadata_resolver.js:551CompileMetadataResolver.getTypeMetadata @ metadata_resolver.js:448(匿名関数) @ metadata_resolver.js:313CompileMetadataResolver.getNgModuleMetadata @ metadata_resolver.js:313RuntimeCompiler._compileComponents @ runtime_compiler.js:150RuntimeCompiler._compileModuleAndComponents @ runtime_compiler.js:72RuntimeCompiler.compileModuleAsync @ runtime_compiler.js:49PlatformRef_._bootstrapModuleWithZone @ application_ref.js:368PlatformRef_.bootstrapModule @ application_ref.js:361.mainmeteorInstall .js @ main.ts:12fileEvaluate @ install.js:153require @ install.js:82(匿名関数) @party.collection.ts:16
ここで何が間違っていますか?どうすれば解決できますか?
どうもありがとう
JT