2017-06-16 5 views
0

Dans mon application angulaire 2, j'ai essayé de lier les données de vue à l'aide de ngmodel, mais cela n'a pas fonctionné comme prévu.La liaison de données bidirectionnelle ne fonctionnait pas en mode angulaire 2

event.component.html

<div class="form-group"> 
    <label for="comment">About Us:</label> 
     <input type="text" name="aboutus" class="form-control" 
[(ngModel)]="home.aboutus" required placeholder="aboutus"/>{{home.aboutus}} 

</div> 

homemenu.ts

export class Home { 
    aboutus: string; 
    } 

eventcomponent.ts export class EventComponent { home:Home; } constructor() { }

+0

parce que la maison est constructeur non défini –

+0

'() {}' doit être à l'intérieur classe 'EventComponent' – Darshita

+0

@Ajith V Manali quelle erreur? –

Répondre

1

est toujours une bonne idée d'initialiser les variables de classe dans le constructeur comme celui-ci

export class EventComponent { 
    home:Home = null; // or home:Home; 
    constructor() { 
     this.home = new Home() 
    } 
} 
1

Il doit être juste aboutus

<input type="text" name="aboutus" class="form-control" 
[(ngModel)]="aboutus" required placeholder="aboutus"/>{{aboutus}} 
1

Vous devez initialiser la maison dans component.ts événement:

export class EventComponent { 
     home:Home = new Home(); 
     constructor() { } 
    } 
1

Depuis home n'est pas initialisés c'est pourquoi home.aboutus est lie pas avec le modèle html.

Essayez ci-dessous le code

export class EventComponent { 
    home:Home; 

    constructor() { 
     this.home = new Home(); 
    } 

} 
0

lier la propriété d'instance de la maison au lieu et lier [(ngModel)] = "la maison. aboutus "crache la valeur saisie en utilisant l'interpolation de chaîne {{home.aboutus}}.

export class EventComponent{ 
     home: Home; 
     constructor() { 
     this.home = new Home(); 
     } 
}