zoukankan      html  css  js  c++  java
  • sync修饰符

    和 v-model类似   都会解析成两部分   

    v-model 是一个语法糖    v-model ="data"会解析成  :value="data"  和@input="data=$event"事件   

    sync修饰符会解析成两部分  :visible.sync="visible" --->  :visible="visible" 和 @update:visible="visible=$event" 事件  

     区别:v-model  在组件上 只能使用一次  而 sync可以使用多次

    Object.getOwnPropertyDescriptor()  ----获取某个对象的属性描述信息   

    writable修改   删除configurable    枚举enumerable   

    设置数据(写数据)set(val){}            获取数据(读数据)get(){} ---有返回值    通过外部变量控制数据的读写    ------>简易的数据响应式原理   

    多层数据的响应式原理:递归

    Object.defineProperty()     ------------>定义/修改属性值  

      

    1---   vue2 中用的是 Object.defineProperty()     进行数据劫持   虽然Object.defineProperty()    支持通过索引对 数组进行监听和修改   但是由于 性能问题 vue2没有采用 

    且对  对象新增无法劫持   vue 双向绑定的缺陷:数组的下标和长度 无法劫持   对象的新增属性  对象的属性删除的变化  无法劫持 因为已经遍历完了 再修改 无法生效了

    2---   Object.defineProperty() 对于数组的push 等修改数组的 方法    不是响应式的(数组本事响应式的方法是不支持的)

    但是  vue中 重写了数组的push 等7个方法   支持了修改数组 后   数据的响应式

    3------Vue3中采用的 Proxy 来进行数据响应式处理     对对象新增属性可以劫持      

  • 相关阅读:
    [Effective C++ --012]复制对象时勿忘其每一个成分
    [016]转--C++拷贝构造函数详解
    Oracle给用户权限
    Oracle清屏方法
    Oracle 创建数据库、表用户及权限设置代码
    第三人称角色移动及自由移动视野(RigidBody实现)
    unity3D延迟函数
    第一人称角色移动及自由移动视野(CharacterController实现)
    u3d场景载入
    u3D自动寻路2
  • 原文地址:https://www.cnblogs.com/ndh074512/p/15143231.html
Copyright © 2011-2022 走看看