【问题标题】: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: {}, } }
  • 您能说明一下您要达到的目标吗?
  • 我想在加载视图时绑定输入字段中的值

标签: laravel vue.js vuejs2


【解决方案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 所说,将它们放在数据中,这样它们就可以具有反应属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    相关资源
    最近更新 更多