Mam do czynienia z problemami, gdy próbuję użyć RouteData
w Angular2 Beta przy użyciu TypeScript.Jak korzystać z RouteData w Angular2 Beta?
I wstrzyknąć go w konstruktorze i zaimportować go poprawnie
import {RouteConfig, Router, RouteData} from 'angular2/router';
export class App {
constructor(public router: Router, public data: RouteData) {
// router works - routedata not
}
}
Dostaję No provider for RouteData! (App -> RouteData)
.
Gdybym włączenie go do adnotacji komponentów jak ten
@Component({
//..
providers: [RouteData]
})
otrzymuję ten błąd: Cannot resolve all parameters for RouteData(?). Make sure they all have valid type or annotations.
Nie należy wstrzykiwać 'RouteData' przez samych dostawców. Angular2 robi to wszystko dla ciebie. –
Masz na myśli importowanie 'ROUTER_PROVIDERS'? Jak mogę wtedy skompilować maszynę do pisania? – gerric
['ROUTER_PROVIDERS'] (https://github.com/angular/angular/blob/master/modules/angular2/router.ts#L84) nie dostarcza' RouteData' ani 'RouteParams', dlatego nie są dostępne w komponencie root. Są one dostarczane przez ['RouterOulet'] (https://github.com/angular/angular/blob/master/modules/angular2/src/router/router_outlet.ts#L60), więc będą dostępne w każdym załadowanym komponencie poprzez routing. –