【问题标题】:error: reserved word 'var' javascript/vue错误:保留字 'var' j​​avascript/vue
【发布时间】:2019-06-04 11:20:10
【问题描述】:

我的任务很简单:我只想要一个带有字符串的数组。 背景是我想稍后将条形码放入该数组中。

但现在的主要问题是我总是得到:

"index.vue: var 是保留字"

我查看了 vue 文档,甚至尝试了该示例。 但不知道为什么我总是得到这个语法错误。

这是我的 javascript 部分,有趣的块是我要声明数组的最后一个块。

<script>
    import axios from 'axios';
    import moment from 'moment';

    export default {
      data() {
        return {
          form: {
            barcodes: [],
            id: this.$route.params.id,
            form: {},
            used_by: '',
            return_time: '',
            barcode: '',
            onSubmit: false,
          }
        }
      },
      methods: {
        onSubmit() {
          this.$message('submit!')

          axios.put('http://127.0.0.1:8000/api/tools/' + this.id, this.form)
          .then(response => {
              console.log(response);
              this.onSubmit = true;
          })
          .catch((error) => {
              console.log(error);
          })
        },
        onCancel() {
          this.$message({
            message: 'cancel!',
            type: 'warning'
          })
        }
      },

      created() {
        axios.get('http://127.0.0.1:8000/api/tools/' + this.id)
        .then(response => {
            console.log(response);
            this.form = response.data;
        })
        .catch((error) => {
            console.log(error);
        })
      },

      var example2 = new Vue({
        el: '#example-2',
        data: {
          parentMessage: 'Parent',
          items: [
            { message: 'Foo' },
            { message: 'Bar' }
          ]
        }
      })

    }

</script>

这是html部分:

<ul id="example-2">
   <li v-for="(item, index) in items">
   {{ parentMessage }} - {{ index }} - {{ item.message }}
   </li>
</ul>

这里也可以看到例子:https://vuejs.org/v2/guide/list.html#Mapping-an-Array-to-Elements-with-v-for

但我明白了:

index.vue: var is a reserved word (89:2)

  87 |   },
  88 |   
> 89 |   var example2 = new Vue({
     |   ^
  90 |   el: '#example-2',
  91 |   data: {
  92 |     parentMessage: 'Parent',

【问题讨论】:

  • 去掉 var 关键字,它会按预期工作
  • 你在一个对象中
  • 因为不能用 var 语句在对象中声明属性。
  • @MosèRaguzzini 但这看起来不像是一个属性,因为他使用的是 = 符号而不是 :,我认为这是一个错字
  • 事实上你不能在对象键之后使用等号。看来你错过了javascript的基础

标签: javascript node.js web vue.js


【解决方案1】:

您不能将变量声明放在对象字面量中。应该写成对象属性:

  example2: new Vue({
    el: '#example-2',
    data: {
      parentMessage: 'Parent',
      items: [
        { message: 'Foo' },
        { message: 'Bar' }
      ]
    }
  })

【讨论】:

  • 啊,好吧,我明白了。但即使我将我的数组包含在现有的 data()-Block 中,我仍然会得到“属性或方法“项目”未在实例上定义,但在渲染期间被引用。”
  • 这听起来特定于 Vue 如何使用这些数据,我对此一无所知。我只是在帮你修复通用的 JavaScript 语法。
  • 好的,解决了。我忘记了正确的表示法:form.items
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 2019-03-05
  • 2019-03-28
  • 2018-02-03
相关资源
最近更新 更多