5

Soll Angular2 in IntelliJ (letztes Update von v15 - Ultimate) funktionieren? Alle Dokumente scheinen zu sagen, dass es über das AngularJS-Plugin funktioniert, aber ich bekomme wirklich seltsame Intellisense-Fehler. Beispielsweise;IntelliJ und Angular 2 Argumenttyp nicht zuweisbare Fehler

bootstrap(App, [ 
    ROUTER_PROVIDERS, 
    provide(LocationStrategy, {useClass: HashLocationStrategy}) 
]); 

Wirft  Argument type App is not assignable to parameter type Type

Und Standard Anmerkungen mögen;

@RouteConfig([ 
    {path: '/...', component: RootView, as: 'RootView', useAsDefault: true} 
]) 

Wurf Argument type {path: string, component: RootView, as: string, useAsDefault: boolean}[] is not assignable to parameter type RouteDefinition[]

Hat jemand vor über diese laufen? Wer weiß, wie man IntelliJ spielt?

Quelle für App wie angefordert;

import {Component, ViewEncapsulation} from 'angular2/core'; 
import {RootView} from './root-view'; 
import { 
    RouteConfig, 
    ROUTER_DIRECTIVES 
} from 'angular2/router'; 

@Component({ 
    selector: 'app', 
    templateUrl: './components/app/app.html', 
    encapsulation: ViewEncapsulation.None, 
    directives: [ROUTER_DIRECTIVES] 
}) 
@RouteConfig([ 
    {path: '/...', component: RootView, as: 'RootView', useAsDefault: true} 
]) 
export class App { 
} 
+2

Während Sie an Bootstrap 'App' binden, sollte es eine Komponente Ihrer Anwendung sein, die über @Component mit dem richtigen Selektor, der Vorlage und dem Exportieren einer Klasse definiert wird. Ich würde gerne die vollständige Quelle sehen, wenn möglich – Sage

Antwort

2

Es stellt sich heraus, aus Gründen, die ich nicht erklären, dass ein Konstruktor erforderlich ist oder IntelliJ wird wirklich verwirrt, und die Verwirrung geht den ganzen Weg hinunter die Abhängigkeitskette.

In meinem Fall das Update war einfach, ein Standard, leeren Konstruktor in App:

export class App { 
    constructor() {} 
} 

Aber Faustregel in Angular2 mit IntelliJ scheint Bauer auf alles in der DI-Kette zu sein - zumin zumindest für den Moment. Ich nehme an, das ist ein Bug und wird im eckigen Plugin für IntelliJ behoben - ich habe es gerade an sie geschickt.

+3

Hinzufügen eines Konstruktors für alle meine Klassen hat es nicht gelöst. –

+2

Könnten Sie einen Link zu Ihrem eingereichten Fehler hinzufügen? –

+0

Ich bin auf PHPStorm, ein Neustart der IDE hat mir geholfen – ThomasP1988

1

Nach JetBrains issue tracker dieses Problem behoben wurde und wird kein Problem mehr aus der kommenden Version 2016,2

Inzwischen können verwenden Sie EAP-Version sein.