Maison > Questions et réponses > le corps du texte
Selon les documents officiels vue-resource et laravel, le format de syntaxe suivant doit être utilisé :
var demo = new Vue({
el: '#app',
data: {
gridColumns: {'#':'id', '公司名':'name', '组织名':'email', '电话':'created_at'},
gridData: []
},
methods: {
this.$http.get('../db').then((response) => {
this.gridData = response.data;
},(response) => {
console.log(response);
});
}
});
Mais le navigateur signale directement une erreur : (index):51 Uncaught SyntaxError: Unexpected token .
Après avoir recherché diverses informations et débogué, nous avons finalement trouvé que la syntaxe qui peut s'exécuter normalement est la suivante :
var demo = new Vue({
el: '#app',
data() {
return{
gridColumns: {'#':'id', '公司名':'name', '组织名':'email', '电话':'created_at'},
gridData: []
}
},
mounted(){
this.$http.get('../db').then((response) => {
this.gridData = response.data;
},(response) => {
console.log(response)
});
}
});
Ce que je veux demander, c'est quelle est la raison spécifique ? Quelles règles grammaticales devraient être suivies à l'avenir ?
Supplément :
黄舟2017-05-16 16:50:59
Simple erreur de syntaxe, veuillez regarder attentivement le premier code d'erreur
methods: {
// 這裡是對象呀,不能直接塞
this.$http.get('../db').then((response) => {
this.gridData = response.data;
},(response) => {
console.log(response);
});
}
devrait être
methods: {
fetchData() {
this.$http.get('../db').then((response) => {
this.gridData = response.data;
},(response) => {
console.log(response);
});
}
},
mounted() {
this.fetchData()
}
天蓬老师2017-05-16 16:50:59
Merci Tomoe d'avoir répondu à ma question !
Je sais aussi pourquoi la façon dont les données sont écrites. Selon la documentation Vue, les données ne peuvent pas être définies dans un composant à l'aide d'attributs, mais doivent être définies à l'aide d'objets.