En el componente Angular 2 tengo authbox.component.ts
import {Component} from 'angular2/core'; import {COMMON_DIRECTIVES} from 'angular2/common'; import {Credentials} from './credentials' @Component({ selector: 'authbox', template: `<div> <div class="login-panel" *NgIf="!IsLogged"> <input type="text" *NgModel="credentials.name" /> <input type="password" *NgModel="credentials.password" /> <button type="button" (click)="signIn(credentials)">→| Sign In</button> </div> <div class="logged-panel" *NgIf="IsLogged"> <span>{nickname}</span> <button type="button" (click)="signOut()">|→ Sign out</button> </div> </div>`, directives: [COMMON_DIRECTIVES] }) export class AuthBoxComponent { private _isLogged: boolean; get IsLogged(): boolean { return this._isLogged } set IsLogged(value: boolean) { this._isLogged = value; } public credentials: Credentials; }En el navegador recibí errores " No se puede vincular a 'NgModel' ya que no es una propiedad nativa conocida " y " No se puede vincular a 'NgIf' ya que no es una propiedad nativa conocida ".
Estoy usando la beta 8.
En general, can't bind to xxx since it isn't a known native property El error se produce cuando tiene un error tipográfico en su HTML al intentar usar una directiva de atributo o al intentar configurar un enlace de propiedad.
Los ejemplos comunes son cuando se pierde un * o un # o let o use in lugar of con las directivas estructurales integradas de Angular:
<div ngIf="..." // should be *ngIf <div ngFor="..." // should be *ngFor="..." <div *ngFor="let item in items" // should be "let item of items" <div *ngFor="item of items" // should be "let item of items"Una falta de ortografía o mayúsculas y minúsculas también generará el problema:
<div *ngFer="..." <div *NgFor="..."Otra razón es si especifica una propiedad que no existe en el elemento o componente DOM:
<div [prop1]="..." // prop1 isn't a valid DOM property for a div <my-comp [answr]="..." // typo, should be [answer] Para errores tipográficos con las directivas angulares integradas, dado que el error tipográfico no coincide con ninguno de los selectores de directivas integrados, Angular intenta configurar un enlace a una propiedad del elemento DOM (el div en los ejemplos anteriores) con el error tipográfico nombre. Esto falla porque un div no tiene una propiedad nativa ngIf o ngFer o prop1 DOM.
--
Para los atributos (no las propiedades), debe usar el enlace de atributos, por ejemplo, para el atributo de height de svg : <svg [attr.height]="myHeightProp">
intente usar [(ngModel)] en lugar de *NgModel y *ngIf en lugar de *NgIf
<span>{{nickname}}</span> <button type="button" (click)="signOut()">|→ Sign out</button> export class AuthBoxComponent { nickname="guest"; ... }