Vue双向绑定


Vue双向绑定

v-model 指令用来在 input、select、textarea、checkbox

、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。

按钮的事件我们可以使用 v-on 监听事件,并对用户的输入进行响应。

value 属性和Vue数据变量,双向绑定到一起

  • 语法: v-model=”vue数据变量”
  • 双向数据绑定
    • 数据变化 -> 视图自动同步
    • 视图变化 -> 数据自动同步

vue双向绑定实现原理是Object.defineProperty(obj, prop, descriptor)

如果你不太记得这个方法:

​ 此处就贴上MDN中的介绍

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。

value
该属性对应的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)。
默认为 undefined。
get
属性的 getter 函数,如果没有 getter,则为 undefined。当访问该属性时,会调用此函数。执行时不传入任何参数,但是会传入 this 对象(由于继承关系,这里的this并不一定是定义该属性的对象)。该函数的返回值会被用作属性的值。
默认为 undefined。
set
属性的 setter 函数,如果没有 setter,则为 undefined。当属性值被修改时,会调用此函数。该方法接受一个参数(也就是被赋予的新值),会传入赋值时的 this 对象。
默认为 undefined。

key的作用又是什么?

vue官网: key 是给每一个 vnode 的唯一 id ,也是 diff 的一种优化策略,可以根据 key,更准确, 更快的找到对应的 vnode 节点

要求:key 值 不得是重复的字符串和数字,是唯一的 id,不能为对象.

vue 底层会创建虚拟 DOM 树,通过 key 与真实的 DOM 树中节点 key 进行比较.

有 key 的时候,会按照 key 进行比较;

无 key 的时候进行就地更新.

如何用 key ? 有 id 绑 id 无 id 用索引

Vue: 动态添加class

语法:  :class="{键/名: 值}"

Author: xt_xiong
转载要求: 如有转载请注明出处 :根据 CC BY 4.0 告知来自 xt_xiong !
评论
  标题