Ich habe Probleme beim Versuch, Daten in einer Vue Instanz
(Beispiel in: https://jsfiddle.net/a5naw6f8/4/) setzenWie man Daten mit AJAX in Vuejs 2 rendert?
ich die Werte zu Daten Eigenschaft von AJAX zuweisen. Ich kann Prüfung Objekt machen, aber wenn ich exam.questions.length zu einem inneren Array zugreifen möchten bekomme ich einen Fehler:
"TypeError: exam.questions is undefined"
Dies ist mein Code:
// .js
new Vue({
el: '#app',
data:{
id: "1",
exam: {}
},
created: function() {
this.fetchData();
},
methods: {
fetchData: function() {
$.get("https://dl.dropboxusercontent.com/s/15lkz66wy3fut03/data.json",
(data) => {
this.exam = data;
}
);
}
}
});
<!-- .html -->
<div id="app">
<h1>ID: {{ id }}</h1>
<h1>Exam: {{ exam }}</h1>
<!-- exam.questions array is undefined -->
<!-- <h1>Questions length: {{ exam.questions.length }}</h1> -->
</div>
gefunden ein ähnliches Problem, aber es war relativ zu diesem vorbehaltenen Wort Geltungsbereich: Vuejs does not render data from ajax
Kann jemand dieses Problem beheben?
Vielen dank für die Antwort ** ** Mark_M zurückgekehrt ist. Das Thema ist, dass, wenn ich eine neue Bedingung mithilfe einer berechneten Eigenschaft eingeben möchte, der gleiche Fehler erneut angezeigt wird: "TypeError: this.exam.questions ist undefined": [Geändertes Beispiel: https://jsfiddle.net/9gw2Luax/ 29 /] (https://jsfiddle.net/9gw2Luax/29/) –
Ich fand eine Lösung: https://jsfiddle.net/9gw2Luax/30/ Ich denke, das Problem war an der Stelle der ersten Rendervorlage ** exam.questions ** Eigenschaft existiert noch nicht (weil Asynchronität der Einstellungsdaten). Aber wenn ich die Struktur von Daten ohne Zuordnung definiert, dann existieren Eigenschaften und es gab keine Fehler. –