laravel使用vue-resource,报错Uncaught SyntaxError: Unexpected token

发布于 2022-09-04 08:48:33 字数 1162 浏览 8 评论 0

按照vue-resource官方文档,以及laravel官方文档都显示应该采用如下语法格式:

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);
    });
  }
});

但是浏览器直接报错:(index):51 Uncaught SyntaxError: Unexpected token .
图片描述

经过多方资料查找,以及调试,最终发现可以正常运行的语法如下:

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)
    });
  }
});

我想问的是,具体是什么原因导致的,以后的语法规则应该遵循哪一种?

补充:
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

把梦留给海 2022-09-11 08:48:33

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

  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()
  }
静谧幽蓝 2022-09-11 08:48:33

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文