Angular 2 entradas externas

Por favor, ¿puedes ayudar? Acaba de comenzar con Angular 2 y tiene el siguiente problema.

Mi componente está abajo:

@Component({ selector: 'myapp', inputs: ['mynumber'] }) @View({ template: `

The next number is {{ mynumber + 1 }}

' }) export class App { mynumber: number; } bootstrap(App);

Dentro de mi HTML:

  

Pero cuando corro obtengo lo siguiente:

El siguiente número es NaN

Parece simple pero me falta algo. Lo que bash lograr es pasarle un valor desde fuera de la aplicación.

Gracias.

No puede especificar enlaces de propiedad (entradas) para el componente raíz de su aplicación. Si realmente desea especificar un enlace para él, debe usar un componente adicional. Mira esto .

 import {Component, Input} from 'angular2/angular2' @Component({ selector: 'myapp', template: ` 

The next number is {{ mynumber + 1 }}

` }) class App { @Input() mynumber: number; } @Component({ selector: 'root', directives: [App], template: ` ` }) export class Root {}

Una solución alternativa es leerla directamente con ElementRef :

 constructor(elementRef:ElementRef) { console.log(elementRef.nativeElement.getAttribute('someattribute'); } 

y usarlo como

  

Ver también https://github.com/angular/angular/issues/1858

Actualice las respuestas usando ElementRef: use Renderer.selectRootElement en su lugar. Cualquiera que intente usar ElementRef.nativeElement probablemente vea varias advertencias sobre cómo es este un último recurso, etc. Aquí hay una versión modificada y más segura.

 constructor( renderer: Renderer ){ let rootElement = renderer.selectRootElement('app-root'); this.whateverInput = rootElement.getAttribute('my-attribute'); } 

Para aquellos que usan angular 4: si decides usarlo como un atributo como ese

   

Podrías usar la anotación @Attribute así:

 class Component { constructor(@Attribute('attributeName') public param:String){ /** some process with your injected param **/ } } 

Probado y trabajado con éxito en mi aplicación.

Encontrado el camino allí: https://gillespie59.github.io/2015/10/08/angular2-attribute-decorator.html