首页 > 其他分享 >数据绑定

数据绑定

时间:2022-08-30 23:01:38浏览次数:35  
标签:绑定 obj Object UI defineProperty 数据

响应式数据:只能由代码改变UI或者只能由UI改变代码 双向数据绑定:代码改变UI,UI也能改变代码

双向数据绑定的实现: 2种方式

1.自己实现,vue可以自己实现(没必要) 微信开发可以自己实现(只能自己实现) 利用input事件,用户交互的时候,获取用户输入的值,然后把值绑定到data容器中

2.系统指令:v-model

//vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。当把一个普通 Javascript 对象传给 Vue 实例来作为它的 data 选项时,Vue 将遍历它的属性,用 Object.defineProperty 将它们转为 getter/setter。用户看不到 getter/setter,但是在内部它们让 Vue 追踪依赖,在属性被访问和修改时通知变化。


//利用 Object.defineProperty 自己实现双向数据绑定
<body>
    <div id="app">
      <input type="text" id="txt">
      <p id="show"></p>
    </div>
</body>
<script type="text/javascript">
    var obj = {}
    Object.defineProperty(obj, 'txt', {
        get: function () {
            return obj
        },
        set: function (newValue) {
            document.getElementById('txt').value = newValue
            document.getElementById('show').innerHTML = newValue
        }
    })
    document.addEventListener('keyup', function (e) {
        obj.txt = e.target.value
    })
</script>

 

标签:绑定,obj,Object,UI,defineProperty,数据
From: https://www.cnblogs.com/LIXI-/p/16641280.html

相关文章

  • 样式绑定
    切换效果的实现:1、做切换效果的技术(样式绑定)2、组件或者模块的切换(动态组件v-if/v-show)3、路由切换(router)样式绑定(1)对class属性进行绑定 1、v-bind:class指......
  • 数据结构之链表的原理
    链表:在计算机中用一组任意的存储单元存储线性表的数据元素称为链式存储结构,这组存储结构可以是连续的,也可以是不连续的,因此在存储数据元素时可以动态分配内存。注:在java中......
  • 【数据结构】二叉树-二叉树类别
    满二叉树如果二叉树中除了叶子结点,每个结点的度都为2,则此二叉树称为满二叉树。 完全二叉树1.如果二叉树中除去最后一层节点为满二叉树,且最后一层的结点依次从左到右......
  • 基础数据类型之数字和字符串
    1.数字类型数字类型的数据可以相互的进行+-/*、也可以进行相互的比较(<>=)1.1整型intage=18记录年龄等整数print(type(age))#int类型int()方法可以将其他类型的数据转换......
  • R数据分析:用R建立预测模型
    预测模型在各个领域都越来越火,今天的分享和之前的临床预测模型背景上有些不同,但方法思路上都是一样的,多了解各个领域的方法应用,视野才不会被局限。今天试图再用一个实例给......
  • 虚函数 静态绑定 动态绑定
    虚函数详解:https://blog.csdn.net/lyztyycode/article/details/81326699虚函数作用主要是实现了多态机制。多态就是用父类类别的指针指向其子类的实例,然后通过父类的指针......
  • TCGA数据库的挖掘工具
    TCGA数据库的挖掘工具TCGA数据库的挖掘工具层出不穷,从数据下载到数据挖掘,这里marker整理一份官网的数据挖掘工具大全:http://www.cancerimagingarchive.net/TheCancer......
  • FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式
    FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式_boker的博客-CSDN博客_ftp传输二进制 https://blog.csdn.net/z507263441/article/details/38586769FTP的传输有......
  • Python - 处理 requets 请求接口时, 传输中文数据乱码问题
     #使用  ensure_ascii=False data={'name':'测试名称'}url="https://api.weixin.qq.com/xxx/"data=json.dumps(data,ensure_ascii=False)head......
  • Docker容器数据卷
    什么是容器数据卷如果数据都在容器中,如果容器一删除,那么数据就会丢失。我们希望数据存储在本地。容器之间可以有一个数据共享的技术,Docker容器产生的数据,同步到本地,这就......