【问题标题】:SyntaxError: Assigning to rvalueSyntaxError:分配给右值
【发布时间】:2022-01-14 14:17:01
【问题描述】:

我在tbody中有以下代码

<tr v-for="item in apiResponse.costGroups" :key="item.process_receipt_id">
    <td class="pl-0 pr-0">
        <el-input type="text" v-model="getCostGroupProp(item, 'process_receipt_date')" class="no-border-input-datatable"/>
    </td>
</tr>

methods 对象中,我有以下代码。

methods: {
  getCostGroupProp(costGroup, prop) {
    return costGroup[prop]
  }
}

我收到以下错误:

SyntaxError: 赋值给右值

但是当我编写这样的 HTML 代码时它工作得很好。

<tr v-for="item in apiResponse.costGroups" :key="item.process_receipt_id">
    <td class="pl-0 pr-0">
        <el-input type="text" v-model="item.process_receipt_date" class="no-border-input-datatable"/>
    </td>
</tr>

我在 StackOverflow 上的一个问题中读到,问题是我们在 v-model 中不能有数字。但是,我在 v-model 中没有数字,并且代码在第二种方法和相同的属性集下也可以正常工作,所以我不明白为什么。

谁能帮我理解为什么会这样?我很感激。谢谢!

【问题讨论】:

  • getCostGroupProp(item, 'process_receipt_date') = newInputValue 不是有效的 JavaScript,这就是您收到此错误的原因。
  • @CherryDT 很有趣,我认为它会像计算属性或数据属性一样返回值

标签: javascript vue.js vuejs2


【解决方案1】:

不要将 v-model 分配给方法。 v-model 是双向绑定。使用数据属性或计算属性(使用 set/get 方法)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2022-01-10
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    相关资源
    最近更新 更多