0
votes

Comment puis-je initialiser un objet JSON enfant en angulaire / dossier?

J'ai un modèle.ts fichier. xxx

J'ai un service.ts fichier où j'ai des méthodes de réglage I ' m Essayer de mettre à jour le modèle. xxx

Ça fonctionne pour des variables simples mais je reçois une erreur ne peut pas lire la propriété sous-couche de non définie lorsque vous essayez de Mettre à jour la sous-classe et le contact. Je sais que je dois initialiser le sous-couche et l'itemlist dans le constructeur du modèle, mais je ne peux pas comprendre la syntaxe. Comment puis-je initialiser le modèle et la mise à jour du modèle?


0 commentaires

4 Réponses :


0
votes

Assurez-vous que vous appelez le constructeur des types complexes que vous souhaitez initialiser dans votre principale class. XXX

Notez la parenthèse. Si vous avez une initialisation plus complexe, il y a d'autres angles que nous devrions aussi regarder que plusieurs scénarios sont décrits ici. Par exemple, dans votre sous-classe, vous devez vous assurer que Subitem dispose d'un constructeur si vous souhaitez également initialiser lorsque vous retournez une instance de sous-classe.

Une autre option d'initialisation de la sous-couche dans votre classe mère est de faire quelque chose comme Ceci dans le constructeur: xxx

espère que cela aide,


5 commentaires

Initialisation de la variable dans le modèle lancent TS1005: ';' attendu, TS1109: expression attendue, TS1128: déclaration ou déclaration attendue


Essayez sous-classe = nouvelle sous-classe (); .


@ kratos24 - Avez-vous fait la même chose avec contact ?


Hmm .. Peut-être que je suppose mal que vous passiez dans un modèle initialisé? Vous devez initialiser l'instance entrer dans la méthode sous forme de paramètre (c'est-à-dire que vous ne pouvez pas être une interface ou similaire). En supposant que les types complexes au sein du parent ont également des constructeurs par défaut cela devrait fonctionner sans problème. Pouvez-vous inclure le code d'appui de votre question?


Réponse mise à jour Pour inclure un moyen de s'assurer que le sous-couche aura au moins un élément dans l'événement que le constructeur par défaut ne gère pas cela.



0
votes

Parce que Sous-classe et Subitem est indéfini. Vous devez créer une nouvelle instance pour eux avant de définir la valeur:

Changer Somemodel à Mainclass ou utilisez .MAP Fonction à la cartographie. xxx


0 commentaires

0
votes

La cause de cette erreur est la sous-classe, la sous-couche, le contact n'est pas défini. Pour résoudre ce changement, les modèles comme suit xxx

dans le service xxx

peuvent vous aider à comprendre vos erreurs et que vous pouvez modifier le code en fonction votre besoin. J'espère que cela aidera.


0 commentaires

1
votes

J'ai dû initialiser le constructeur dans le modèle comme celui-ci xxx


0 commentaires