Avec some help from StackOverflow J'ai les éléments suivants pour exécuter mon loadData
lors du chargement de la page et lorsque le bouton est cliqué.Syntaxe de VueJS: Enregistrement d'une valeur dans une promesse
Toutefois, le texte de la page n'est pas mis à jour. Quelque chose ne va pas au sujet de ma syntaxe avec this.text = xhr.data
index.html:
<div id="app"></div>
app.js:
const Vue = window.Vue = require("vue");
Vue.prototype.$http = require("axios");
const App = require("./components/App.vue");
window.app = new Vue({
el: "#app",
render: h => h(App)
});
components/app.vue:
<template>
<div>
<h1>Test</h1>
<p>{{text}}</p>
<button @click="this.loadData">Reload</button>
</div>
</template>
<script>
export default {
mounted() {
this.loadData();
},
methods: {
loadData() {
this.$http.get("https://icanhazip.com")
// This fails
.then(xhr => this.text = xhr.data);
}
}
};
</script>
Tout message d'erreur? –
Il ne semble pas que vous ayez un objet de données. Seules les propriétés de l'objet de données sont réactives. –