Ecmascript 6 Angular 2 ES6注入Http

Ecmascript 6 Angular 2 ES6注入Http,ecmascript-6,angular,Ecmascript 6,Angular,我试图弄清楚如何使用es6将http正确地注入到我的类中。当我使用@inject时,我得到一个错误,说inject未定义。我是否遗漏了我必须导入才能在这里工作的其他内容 import 'zone.js/lib/browser/zone-microtask'; import 'reflect-metadata'; import 'babel-polyfill'; import {provide} from 'angular2/core'; import {bootstrap} from 'ang

我试图弄清楚如何使用es6将http正确地注入到我的类中。当我使用@inject时,我得到一个错误,说
inject未定义
。我是否遗漏了我必须导入才能在这里工作的其他内容

import 'zone.js/lib/browser/zone-microtask';
import 'reflect-metadata';
import 'babel-polyfill';

import {provide} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
import {ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy} from 'angular2/router';
import {Http, Headers} from 'angular2/http';

import {Component, View, Input} from 'angular2/core';
import {RouteConfig, RouteParams, ROUTER_DIRECTIVES} from 'angular2/router';


@Component({
    selector: 'test-app',
    template: '<div>Hello my name is {{name}}. <button (click)="sayMyName()">Say my name</button></div>'
})
@inject('Http')
export class TestApp
{
    constructor(http)
    {
        this.name = 'Allencoded';
        this.http = http;
    }

    sayMyName()
    {
        console.log('My Name is ', this.name);
        console.log(this.http);
    }
}
导入'zone.js/lib/browser/zone-microtask';
导入“反映元数据”;
进口“babel polyfill”;
从'angular2/core'导入{provide};
从'angular2/platform/browser'导入{bootstrap};
从“angular2/ROUTER”导入{ROUTER_提供者、LocationStrategy、HashLocationStrategy};
从'angular2/Http'导入{Http,Headers};
从'angular2/core'导入{组件、视图、输入};
从“angular2/ROUTER”导入{RouteConfig、RouteParams、ROUTER_指令};
@组成部分({
选择器:“测试应用程序”,
模板:“你好,我的名字是{{name}}。说出我的名字”
})
@注入('Http')
导出类TestApp
{
构造函数(http)
{
this.name='Allencoded';
this.http=http;
}
sayMyName()
{
console.log('My Name is',this.Name);
log(this.http);
}
}

我就是这样让它最终工作的:

import { Http, HTTP_PROVIDERS } from 'angular2/http';

export class TestApp
{
    static get parameters() {
        return [[Http]];
    }

    constructor(http)
    {
        this.name = 'Allen';
        this.http = http;
    }
}

bootstrap(TestApp, [
  HTTP_PROVIDERS,
  provide(LocationStrategy, { useClass: HashLocationStrategy })
]);
摘自:

OP,同样值得尝试gitter这是因为
@inject
并没有定义。它是
@Inject
(与其他ng2装饰器一样采用驼峰式外壳)。它应该被导入(和其他ng2装饰器一样)。我试过了,但还是没用。我尝试导入它,然后使用
@Inject
,还尝试了
@Inject
。两者都不起作用