2017-07-26 9 views
2

Dans l'une de mes applications angular2, je souhaite afficher le innerHTML du modèle dans le champ de saisie auquel un modèle est attaché.ngModel innerHTML fonctionne dans la balise p mais pas dans la balise d'entrée angular2

<input type="text" [(ngModel)]="studentCategory" [innerHTML]="studentCategory"/> 

la valeur de studentCategory est à venir de la base de données qui a une certaine '& # 174;' valeurs. qui est directement apparaître dans les zones de texte, il devrait plutôt montrer un symbole de registre

je peux facilement montrer de la manière suivante

<p [innerHTML]="studentCategory"/></p> 

mais pas à l'entrée qui a le modèle attacher.

Merci d'avance.

+0

Votre question n'est pas claire. Que veux-tu exactement faire? Quel HTML voulez-vous montrer en entrée? C'est une boîte de saisie, vous pouvez placer un espace réservé dans cela ou vous pouvez le remplir avec une valeur par défaut, mais avec innerHTML que voulez-vous réaliser? – monica

Répondre

1

innerHTML fait référence au contenu des balises HTML. Un tag <p> peut contenir un contenu de phrasé. Cependant, une balise <input> doit être vide. Il ne peut contenir aucun élément enfant ni contenu textuel.

<p [innerHTML]="'hello'"></p> résout à <p>hello</p>. C'est un HTML légal. Mais <input>hello</input> n'est pas valide. (<textarea>hello</textarea> serait valide).

Vous devez vous assurer que les entités HTML sont déjà désactivées avant d'affecter la chaîne à votre variable ngModel studentCategory.

+0

édité ma question pour une meilleure compréhension. Mon problème est que la catégorie des étudiants est le modèle qui a des valeurs provenant de la base de données. Je montre juste la valeur dans la zone de texte. donc je ne peux pas changer la valeur. – Raj