【问题标题】:Vue return v-model name by methodVue通过方法返回v-model名称
【发布时间】:2019-01-27 16:00:23
【问题描述】:

我正在创建一个每小时费率表单。我的数据库费率表中有所有类别。我希望能够增加类别,它会自动增加我表单上的字段.. 循环遍历所有内容。

用户需要选择一个开始到结束的速率。我以这个速度开始,以这个速度结束。

所以现在我将 json 中的这些值加载到我的页面上:

rateCategories: [ { "name": "Local", "input1": "Local$0", "input2": "Local$1" }, { "name": "International", "input1": "International$0", "input2": "International$1" }, { "name": "Weekdays", "input1": "Weekdays$0", "input2": "Weekdays$1" }, { "name": "Weekends", "input1": "Weekends$0", "input2": "Weekends$1" } ]

userRates: { "Local$0": 10, "Local$1": 25, "International$0": 300, “国际$1”:400,“平日$0”:100,“平日$1”:200, “周末$0”:200,“周末$1”:300 }

我正在做的是循环通过 rateCategories 数组来创建表单。我需要为所有输入字段动态创建 v-model 名称以匹配 userRates 中的键...

这是它停止工作的地方!如果我写,它将为我创建 v-model 名称:

:v-model.number="'userRates.'+rateCategories.name+'$0'"

但它不会使用用户数组中的值来计算它。如果我写出 v-model 名称而不像这样动态创建它,我确实会在输入字段中获得一个值:

v-model.number="userRates.Weekdays$0"

但是每次添加新类别时都需要手动更新表单。

真的不可能有动态的 v-model 名称吗?为什么??

如果是这样,我该如何处理,以便页面在添加到数据库时可以循环浏览类别,而在添加或删除类别时不需要手动更新页面??

注意:我也在使用 Vuex 商店,所以我希望它也不要破坏我的 getter 和 setter 函数

【问题讨论】:

  • 你试过了吗:userRates[rateCategories.name$0]
  • 我过得最艰难!我试过你的,但有一个编辑:model.number="userRates[${rateCategories.name}$0]" 这很有效。非常感谢!添加为答案,以便我可以检查为答案:)
  • 对于其他有问题的人。我将输入的名称写为::name="'userRates.'+rateCategories.name+'$0'"
  • 对于我的 vee 验证错误,我这样写:{{ errors.first(userRates.${rateCategories.name}$0) }}

标签: vue.js vuejs2


【解决方案1】:

Vue.js 在数据绑定中具有完整的 javascript 表达式支持,因此可以像在普通 javascript 中一样访问对象的属性。

您尝试过使用userRates[rateCategories.name$0] 吗?

Using Javascript Expressions in Vue.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 2023-02-03
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多