我的理解误区:v-bind、: 、v-model

77 阅读1分钟

v-bind 是 Vue 中的一个指令,用于动态地绑定 HTML 元素的属性。它可以用来将 Vue 实例中的数据绑定到 HTML 元素的属性上,或者动态地设置 HTML 元素的属性。其简写是::

  • v-model 是 Vue 提供的一个指令,用于在表单元素和 Vue 实例的数据之间建立双向绑定。它实际上是语法糖,相当于同时使用了 :value@input。当你使用 v-model 时,Vue 会自动处理数据的更新以及用户输入的响应。例如,v-model="shipDirection" 会将输入框的值绑定到 Vue 实例中的 shipDirection 属性上,当输入框的值发生变化时,shipDirection 的值也会相应地更新。
  • : 是 Vue 中的绑定语法,用于将 Vue 实例中的数据绑定到 HTML 元素的属性上。例如,:value="shipDirection" 会将 Vue 实例中的 shipDirection 属性的值绑定到输入框的 value 属性上,但它不会建立双向绑定。这意味着当 shipDirection 的值发生变化时,输入框的值会更新,但当输入框的值发生变化时,shipDirection 的值不会自动更新。通常情况下,你需要手动监听输入事件并在事件处理程序中更新数据。

因此,如果你希望建立双向绑定,让输入框的值能够自动更新 Vue 实例中的数据,你应该使用 v-model。如果你只是希望单向绑定数据到 HTML 元素上,你可以使用 :

  • 之前将v-model:混淆了,误以为后者是前者的简写。