Hai bisogno di aiuto per fornire un OpaqueToken. Utilizzo di Angular 2 beta-12. Funziona bene se la chiave del provider è una stringa, ma non funziona quando si utilizza OpaqueToken. Nella classe Bambino, SF non è definito.angular 2 OpaqueToken
Parent Classe: Classe
export let SF = new OpaqueToken('sf');
export class A {
testMsg: string = 'hello';
}
@Component({
template: `<child></child>`,
providers: [
provide(SF, {useValue: A}),
provide('justString', {useValue: 'hi'})
]
})
export class App {}
bambini:
import {Component, Injector, Inject, OpaqueToken} from 'angular2/core'
import {SF, A} from './app'
console.log("******", SF); // undefined
@Component({
selector: 'child',
template: `
$$CHILD Rendered$$ {{a}}
`
})
export class Child {
//constructor(@Inject(SF) private a: A) {} // doesn't work
constructor(@Inject('justString') private a: string) {}
}
eccezioni che ricevo:
angular2.min.js: 17EXCEPTION: Impossibile risolvere tutti i parametri per "Bambino" (@ Inject (undefined)). Assicurati che tutti i parametri siano decorati con Inject o abbiano annotazioni di tipo valide e che "Child" sia decorato con Injectable.
che funziona molto meglio !! grazie. http://plnkr.co/edit/7mVEoE – Elijah