IntelliJ中的Angular2(v15的最新更新 - 终极版)应该有效吗?所有的文档似乎都说它是通过AngularJS插件完成的,但是我得到了真正奇怪的智能感知错误。例如;
bootstrap(App, [
ROUTER_PROVIDERS,
provide(LocationStrategy, {useClass: HashLocationStrategy})
]);
引发 Argument type App is not assignable to parameter type Type
标准注释,如;
@RouteConfig([
{path: '/...', component: RootView, as: 'RootView', useAsDefault: true}
])
抛出Argument type {path: string, component: RootView, as: string, useAsDefault: boolean}[] is not assignable to parameter type RouteDefinition[]
以前有没有人碰过这个?有谁知道怎么让intelliJ玩得好听?
应用程序的来源;
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 {
}
答案 0 :(得分:2)
事实证明,由于我无法解释的原因,需要构造函数或IntelliJ真的很混乱,并且混淆一直沿着依赖链。
在我的实例中,修复很简单,是App中的默认空构造函数:
export class App {
constructor() {}
}
但Angular2中使用IntelliJ的一般经验法则似乎是DI链中所有内容的构造函数 - 至少目前是这样。我认为这是一个错误,将在IntelliJ的角度插件中修复 - 我只是将它提交给他们。
答案 1 :(得分:1)
根据JetBrains issue tracker,这已得到修复,即将发布的2016版本将不再存在问题。
同时您可以使用EAP版本。