Je semble avoir un problème avec le Vue Lifecycle - les objets globaux que je récupère des données dans le DOM en utilisant quelque chose comme Lorsque je l'utilise comme un attribut tel que J'ai essayé d'exécuter le Je reçois deux appels, un dicton P> family.plusone est indéfini p>
blockquote> et un autre journal à la console disant P> family.plusone étant vrai p>
blockQuote> Quelle est la valeur que je m'attendais. p> {{family.plusone}} code> est défini.
: coché = "family.plusone" code> // en attendant vrai comme valeur, il est indéfini. P>
: check = "appelez ()" code> et de la connecter à la console. p>
{{family.plus == 1}} code> dans la portée Affiche vrai mais le
: coché = "(family.plusone == 1)" code> est faux p> p>
3 Réponses :
Premièrement, si vous passez juste family.plusone, quel est le résultat à l'enfant ?, Non défini? P>
Deuxièmement, vous pouvez utiliser une propriété calculée comme p>
: coché = "calculéfamilyplusone" p>
calculé: {
calculéFamilyPlusone: {
if (this.family.plusone == 1) {
retourne vrai
}autre {
renvoyer faux
}
}
} code> p>
Salut Ignacio! Merci pour votre réponse. Quand j'ai tenté d'utiliser une propriété calculée. La chose la plus étrange arrive. Il fait deux appels à calculéFamilyPlusone. Je sais cela parce que je mettais une console.log (this.family.plusone) dans la propriété calculée. Le premier appel imprime "indéfini" et le deuxième appel est "vrai". Par conséquent, dans la propriété DOM - ma propriété calculée ne montre que la valeur lorsque PlusOne est indéfinie. Folie!
Je suppose que votre objet Pour vérifier que je suis correct, assurez-vous d'utiliser la méthode family code> n'existe pas dans la liaison des données par défaut dans la méthode
data () {} code> méthode qui est généralement sur un vue.js composant. Cela signifierait qu'avant le montage du composant, Vue ne connaît pas la valeur lorsqu'elle compilait le modèle. Il apparaît donc comme si la valeur est indéfinie. Ensuite, à un moment donné, vous ne mettez probablement pas à jour que cette propriété de la famille code> code>. Cela signifie que l'état réactif de l'objet n'a jamais changé, alors vue.js ne sait pas qu'il doit recompaliser le modèle ( réactif" GOTCHA "). P>
VUE.SET () CODE> ou réactivez un nouvel objet avec la valeur de la propriété mise à jour de la famille
code> objet. p>
Bonjour Th3n3wguy, dans la méthode Data (), j'ai ce qui suit: Data () {retour {famille: {}}; J'ai aussi ceci qui suit: monté () {this.populatopleople (); Componterventdler.upgradedom (); }, ceci.populatopleople (); Fonction mise à jour ceci.family. Je suis capable d'utiliser les objets ceci.Family avec tout le reste (boutons radio, span, h2) C'est tellement étrange avec cet interrupteur.
J'ai joué avec les phases de cycle de vie Cela m'a permis de mettre à jour les données avant que le DOM ait été chargé et suivant certaines solutions, j'appelle Componterventdler.upgradedom () pour montrer les commutateurs et boutons radio correctement. p> p>