我们可以直接在 vuejs 中绑定值吗,例如 v-bind:value="'India'"

Posted

技术标签:

【中文标题】我们可以直接在 vuejs 中绑定值吗,例如 v-bind:value="\'India\'"【英文标题】:Can we bind value directly in vuejs like, v-bind:value=" 'India' "我们可以直接在 vuejs 中绑定值吗,例如 v-bind:value="'India'" 【发布时间】:2020-11-22 06:56:47 【问题描述】:

我们可以直接绑定值吗

v-bind:value="'India'"

假设我有字段,

 <input id="country" type="text" 
      class="form-control" 
      name="country" placeholder="country" v-bind:value="'India'" v-model="fields.country">

抛出错误

v-bind:value="'India'" 与 v-model 冲突 元素,因为后者已经扩展为值绑定 内部

使用 laravel 7.x 和 vue 2.5

【问题讨论】:

在用户输入其他内容之前,您是否正在寻找输入中的默认文本为印度? fields 是如何定义的? data() return fields: , 您能说明一下您要达到的目标吗? 我想在加载视图时绑定输入字段中的值 【参考方案1】:

不要那样做。 V-model 已经将fields.country 值绑定到输入。 如果您想在之前定义默认值,请尝试将其分配给fields.country,例如fields.country = "India"

【讨论】:

【参考方案2】:

只需给fields.country 一个初始值。请注意,为了使fields.country 具有响应性,您还需要在fields 中声明country 属性:

data () 
  return 
    fields: 
      country: 'India'
    
  

您的模板中不需要v-bind:value

 <input id="country" type="text" 
      class="form-control" 
      name="country" placeholder="country" v-model="fields.country">

【讨论】:

运行时是什么意思?它发生在组件首次启动时。对fields.country 的任何更新都会更新数据和视图中的值。 我有,data() return fields: , 改成,data() return fields: country : "India" 不确定你的意思。您可以根据需要更新这些字段。如果您希望它们具有反应性,请记住在您的数据中声明它们。 @Sujay 您可以在数据中设置表单输入的默认值,例如:data() return fields: country : "India", country_phone_code: 91, city: "New Delhi" 正如@Psidom 所说,将它们放在数据中,这样它们就可以具有反应属性。

以上是关于我们可以直接在 vuejs 中绑定值吗,例如 v-bind:value="'India'"的主要内容,如果未能解决你的问题,请参考以下文章

v-for 一定要绑定key值吗?为什么不建议使用index?

VueJS样式绑定v-bind:class

VueJs之样式绑定

vuejs

VueJS <v-select> 发布时不绑定

使用 v-for - vuejs 绑定本地图像