Dies ist ein Fehler! In V1.8 - dieser Fehler ist behoben!Wenn ich neue Klasse in Angular2 erstellen, habe ich diesen Fehler: TypeError: http_2.Headers ist kein Konstruktor
Ich schaffe Ausgabe in Typoskript Repository: https://github.com/Microsoft/TypeScript/issues/7616
Problem:
Ich schaffe einfach Klasse: defs.ts
export class default_config {
token:string
}
export var HEROES:default_config = {
token: 'a'
};
export class HeroService {
getHeroes() {
return HEROES;
}
setToken(key) {
HEROES.token = key;
}
}
Und Import app.ts:
//our root app component
import {Component} from 'angular2/core'
import {Http, HTTP_PROVIDERS} from 'angular2/http';
import {RouteConfig, ROUTER_DIRECTIVES} from "angular2/router";
import {Headers} from "angular2/http";
import {HeroService} from "./defs";
@Component({
selector: 'my-app',
providers: [HTTP_PROVIDERS, HeroService],
template: `
<div>
<h2>Hello1 {{name}}</h2>
<br>
<router-outlet></router-outlet>
</div>
`
directives: [ROUTER_DIRECTIVES]
})
export class App {
constructor(private http:Http, serv: HeroService) {
this.name = 'Angular2';
var heads = new Headers();
console.log(heads);
}
}
Aber in c onsole Ich habe einen Fehler: TypeError: http_2.Headers ist kein Konstruktor
Warum? Warum http_2? ? Warum Header ...
Wenn ich diesen Code:
import {Headers} from "angular2/http";
import {HeroService} from "./defs";
auf diese ersetzen:
import {HeroService} from "./defs";
import {Headers} from "angular2/http";
arbeiten alle gut! Aber ich kann nicht verstehen, warum ich diesen Fehler habe?
Live-Demo: http://plnkr.co/edit/nfqjRyktqnscwUc6stbY?p=preview
Hmmm, wirklich, aber warum anders 'und "in angular2? Mit" funktioniert auch, aber funktioniert sehr seltsam – MixerOID
Arbeiten mit verschiedenen Anführungszeichen ist eine spezielle Funktion oder ein Fehler? – MixerOID
Normalerweise sind einfache und doppelte Anführungszeichen in TypeScript/JavaScript ähnlich. Ich frage mich, ob es nicht ist, weil Sie sowohl "angular2/http" als auch "angular2/http" in zwei verschiedene Importe verwenden ... –