vue.js – Laravel verwendet vue-resource und meldet einen Fehler Uncaught SyntaxError: Unexpected token
世界只因有你
世界只因有你 2017-05-16 16:48:59
0
2
1634

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:

世界只因有你
世界只因有你

Antworte allen(2)
黄舟

單純語法錯誤,你仔細看下第一個報錯的代碼

  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()
  }
Peter_Zhu

谢谢,Tomoe回复我的问题!
data的写法也知道为什么了。根据vue文档说明,在组件中不能用属性方式定义data,必须使用对象方式定义。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage