Maison  >  Questions et réponses  >  le corps du texte

vue.js - laravel utilise vue-resource et signale une erreur Uncaught SyntaxError: Unexpected token

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 :

世界只因有你世界只因有你2687 Il y a quelques jours1572

répondre à tous(2)je répondrai

  • 黄舟

    黄舟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()
      }

    répondre
    0
  • 天蓬老师

    天蓬老师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.

    répondre
    0
  • Annulerrépondre