2016-08-20 2 views
2

Ich bin mit diesem Fehler während der TSC konfrontiert. Meine App scheint jedoch zu funktionieren. Fehler TS1184: Modifikatoren können hier nicht angezeigt werden.Angular 2 RC 5 NGModul Pass Param

Ich rufe Run App von Index.HTML

export function RunApplication(url:string) 
{ 
    platformBrowserDynamic().bootstrapModule(createAppModule(url)); 

} 

export function createAppModule(url:string) 
{ 
    @NgModule({ 
     ..... standard RC5 code here per docs 
    }) 
export class AppModule {} 
    return AppModule; 
} 

Antwort

0

Ich glaube nicht, dass Sie das Modul in Funktion setzen wollen. Versuchen Sie so etwas wie dies stattdessen

@NgModule({ 
    // ..... standard RC5 code here per docs 
}) 
export class AppModule {} 


platformBrowserDynamic().bootstrapModule(AppModule); 
+0

Wie würde ich den Wert meines App-Moduls vom Server weitergeben? –

+0

Sprechen Sie über Routing? Wenn ja, sehen Sie sich https://angular.io/docs/ts/latest/guide/router.html an. Wenn nicht, bin ich mir nicht sicher, was du meinst. – jcolemang

+0

Robin spricht davon, einen externen Parameter während des Bootstrap auf der Client-Seite zu injizieren, wobei Startwerte von der Seite/dem Server übergeben werden. Die zuvor dokumentierte Technik, bei der Provider in bootstrapModule() übergeben werden, funktioniert in RC5 nicht, und das Umschließen des Stammmoduls in eine Funktion scheint eine gute Umgehungslösung zu sein: http://stackoverflow.com/questions/38948463/passing-server-parameters-to- ngmodule-after-rc5-upgrade Aber wenn ich das versuche, bekomme ich den gleichen Fehler wie das OP. Für mich verweigert TSC (v2.0.0) jedoch die Übertragung der Quelldateien. Ich frage mich, ob dies ein Problem mit TSC v1.8 war –

0

Gefunden die Ursache dafür: Entfernen Sie einfach den „Export“ Modifikator vor „Klasse AppModule“ Deklaration und alles kompiliert! Es ist sehr einfach, es nach dem Einwickeln einer statischen Moduldeklaration in eine Funktion zurückzulassen.

1

Das Problem ist, dass Sie die Funktion bereits exportieren, so exportieren Sie innerhalb der Funktion ist nicht notwendig, entfernen Sie es sollte das Problem beheben.

export function createAppModule(url:string) 
{ 
    @NgModule({ 
     ..... standard RC5 code here per docs 
    }) 
    class AppModule {} 
    return AppModule; 
} 
0

Vermutlich wollen Sie Pre-Bootstrap einige dynamische Daten für Ihre Anwendung zur Verfügung zu stellen?

Wie bereits erwähnt, wird das Problem durch den Export der Klasse verursacht. Entfernen Sie es und der Fehler verschwindet.

Siehe here für ein sinnvolles Beispiel.