J'essaie de pousser des objets à afficher dans des matches en angular.so Chaque entrée est une carte qui contient les trois champs. Ce que j'ai jusqu'à présent, cela ne fonctionne pas: je reçois une erreur qui dit mon HTML: P> ceci.inputfield.push n'est pas une fonction sur postsComponent.getinput code> export interface InputField{
name: string,
department: string,
message: string
}
3 Réponses :
Essayez d'initialiser votre variable dans le constructeur.
En raison de l'objet que vous souhaitez insérer dans le tableau. {'Nom': this.nom, "département": this.départment, "message": this.message} "this" mot-clé est votre composant ici et ne peux pas trouver une variable avec le département et le nom et le message
mais il prend une entrée de mon HTML
Ok maintenant j'ai vu. Il y a mal compris la liaison de forme. Le champ de saisie est un tableau mais vous souhaitez l'utiliser à la fois votre modèle de formulaire et autre chose. Créer une autre variable pour le modèle de formulaire
Vous liez les propriétés Inputfield tels que INPUTFIELD.NAME, INPUTFIELD.DÉPARTEMENT, Mais dans la déclaration, vous dites que c'est un tableau. Et puis vous l'initialisez à un tableau vide.
Vous devez avoir 2 propriétés: p> pour les données actuelles que vous modifiez. P> et ensuite Vous pouvez appuyer sur l'entrée de l'entrée actuellement modifiée vers le tableau Inputfielitures. P> this.inputFields.push(this.inputField);
J'ai vérifié votre code et j'ai découvert qu'il y a quelques erreurs. Veuillez trouver le code complet ici, j'ai créé une StackBlitz de travail ici - https://stackblitz.com/edit / angulaire-gw5rrv p>
Juste pour votre croissance, je répète des erreurs ici: p>
Inputfield code> avec NGModel d'entrées incorrectes. Comme nous souhaitons stocker des valeurs dans le tableau CODE> INPUTFIELD CODE>, nous avons besoin d'une autre variable pour la liaison avec NGModel ( FieldData Code> Est-ce que j'ai créé). Li>
- Vous devez utiliser la variable d'entrée de modèle (
entrée code> dans votre cas) à l'intérieur * NGFOR, mais vous utilisez Inputfield.
- J'ai également supprimé le code inutile li>
- J'ai utilisé div au lieu de la carte de match pour la simplicité li>
ul> li>
ul>
S'il vous plaît laissez-moi savoir si des questions. P>
Merci! Cela a vraiment aidé. Je me demande bien que nous devons appeler l'objet alors un tableau? FieldData: Inputfield = {Nom: "", Département: "", message: ""}; Ne pouvons-nous pas appuyer sur l'objet? Ou nous définissons le tableau pour la suppression?
J'ai créé un objet avec les mêmes noms de propriétés que nécessaire par le tableau pour la correspondance de type. Et deuxième, nous faisons deux choses ici: 1. Nous voulons lier un objet avec des champs de saisie, donc j'ai créé un objet pour la liaison. Maintenant, chaque fois que des valeurs dans les champs de saisie changent, mon objet (FieldData) est mis à jour elle-même. 2. Nous devons stocker ces objets dans un tableau afin de créer un tableau séparé.
Donc, ma réponse à votre dernière question vous a aidé alors? Stackoverflow.com/a/60354552/5367916
Oui, cela va probablement mais je dois déclarer mon objet avant que je puisse le tester. Merci!
Pouvez-vous publier tout le code de fichier TS.
J'ai édité mon code
Pouvez-vous créer un Stackblitz pour reproduire le problème? (A l'air bien au premier coup d'œil) aussi, sont
this.départment code> etthis.message code> défini dans le fichier .TS?Ok ... je les ai définis dans le composant séparé post.TS qui est une interface que j'ai importée dans le composant.
Cela ne devrait pas être un problème. Ne pouvait pas reproduire le problème que vous faites face; Par conséquent, demandé pour un Stackblitz.
Stackblitz se révèle être une douleur, une minute, je ne peux pas importer SRC le prochain il me dit que mon chemin ne fonctionne pas.
Il suffit d'ajouter la solution avec la description et le code complet, s'il vous plaît laissez-moi savoir si des questions.