zoukankan      html  css  js  c++  java
  • 使用js实现单向绑定

    详细解释单向绑定

    参考资料

    MDN

    addEventListener()定义与用法

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
    </head>
    
    <body>
      <input type="text" id="a">
      <span id="b"></span>
      <script>
        // var obj = {};
        // Object.defineProperty(obj,"hello",{
        //   set: () => {
        //     console.log("get方法被调用");
        //   },
        //   get: (val) => {
        //     console.log("se方法被调用"+val);
        //   }
        // })
        let obj = {};
        //Object.defineProperty(obj, prop, descriptor)
        // obj 要在其上定义属性的对象。
        // prop 要定义或修改的属性的名称。
        // descriptor 将被定义或修改的属性描述符。
        Object.defineProperty(obj, 'hello', {    //这里定义obj.hello为完成修改的属性
          set: (newVal) => {                     //当obj.hello的属性发生变化,就会以参数传进来 
            document.getElementById('a').value = newVal;    //set触发给a值同时把值给b实现绑定
            document.getElementById('b').innerHTML = newVal;
            obj.hello
          },
          get: ()=> {
            console.log("hahahaah");  
          }
        });
        //addEventListener() 方法用于向指定元素添加事件句柄。
        //element.addEventListener(event, function, useCapture)
        //event 所有 HTML DOM 事件
        //function 指定事件触发时执行的函数。
        //useCapture 指定事件是否在捕获或冒泡阶段执行。
        document.addEventListener('keyup', (e) => { //监听键盘的按键松开的事件
          console.log(e);
          obj.hello = e.target.value; //将监听到了变化的值给obj.hello,让他触发set属性
        })
      </script>
    </body>
    
    </html>
    
  • 相关阅读:
    Python中的时间
    Python + Selenium 自动化环境搭建过程
    HTML手写课程表,练基础
    temp2
    Jenkins配置文件
    Jenkins安装Slave节点
    Jenkins管理插件
    常见的linux上的服务重启脚本
    测试感慨
    docker的安装
  • 原文地址:https://www.cnblogs.com/wuvkcyan/p/9322574.html
Copyright © 2011-2022 走看看