Heim > Fragen und Antworten > Hauptteil
Gemäß den offiziellen Dokumenten von vue-resource und den offiziellen Dokumenten von laravel sollte das folgende Syntaxformat verwendet werden:
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);
});
}
});
Aber der Browser meldet direkt einen Fehler: (index):51 Uncaught SyntaxError: Unexpected token .
Nachdem wir nach verschiedenen Informationen gesucht und Fehler behoben hatten, stellten wir schließlich fest, dass die Syntax, die normal ausgeführt werden kann, wie folgt lautet:
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)
});
}
});
Was ist der konkrete Grund? Welche grammatikalischen Regeln sollten in Zukunft befolgt werden?
Ergänzung:
黄舟2017-05-16 16:50:59
單純語法錯誤,你仔細看下第一個報錯的代碼
methods: {
// 這裡是對象呀,不能直接塞
this.$http.get('../db').then((response) => {
this.gridData = response.data;
},(response) => {
console.log(response);
});
}
應該是
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
谢谢,Tomoe回复我的问题!
data的写法也知道为什么了。根据vue文档说明,在组件中不能用属性方式定义data,必须使用对象方式定义。