Angular2 RC1No Directive 注释在 PropDecoratorFactory 上找到 @Input

Angular2 RC1No Directive annotation found on PropDecoratorFactory with @Input

我正在尝试将输入参数传递给组件,但我遇到了这个异常: browser_adapter.ts:78 异常:错误:未捕获(承诺):在 PropDecoratorFactory

上找不到指令注释

我尝试了 中描述的解决方案,但没有解决我的问题:

这是我的代码:

import {Component, provide, Input} from '@angular/core';
import {bootstrap} from '@angular/platform-browser-dynamic';
import {Http, HTTP_PROVIDERS} from '@angular/http';
import {RouteConfig, ROUTER_DIRECTIVES, Router, ROUTER_PROVIDERS} from '@angular/router-deprecated'

@Component({
  selector: 'sub',
  template : `<p>input: {{someInput}}</p>`,
  directives: [Input]
})
export class SubComponent {
  @Input() someInput: Number;
}

@Component({
  selector: 'home',
  template : `<p>home</p><sub [someInput]="someInput"></sub>`,
  directives: [SubComponent]
})
export class HomeComponent {
  someInput: Number = 123;
}

@Component({
    selector: 'my-app',
    template: '<h1>here!</h1><router-outlet></router-outlet>',
    directives: [ROUTER_DIRECTIVES],
    providers: [ROUTER_PROVIDERS]
})
@RouteConfig([
    { path: '/home', name: "Home", component: HomeComponent, useAsDefault: true}
])
export class App {
}

还有我的笨蛋: http://plnkr.co/edit/wNKmsnjHf6HeCQD1gV8c?p=preview

directives 数组行中删除 Input

@Component({
  selector: 'sub',
  template : `<p>input: {{someInput}}</p>`,
  directives: [Input] // <---- this is causing it
})
export class SubComponent {
  @Input() someInput: Number;
}

输入不是指令,它是组件输入的装饰器,仅在 class 中使用,而不是在 html 中使用。