首页 > 其他分享 >vue中view-model双向绑定基础原理

vue中view-model双向绑定基础原理

时间:2022-10-18 14:37:18浏览次数:43  
标签:function vue text value var input model data view

利用Object.defineProperty进行数据劫持

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Vue V-M</title>
</head>
<body>
  <div id="ap">
    <input id="input" type="text"><br/>
    <div id="text"></div><br/>
    <button id="button" type="button">打印</button>
  </div>
  <script>
    var input = document.querySelector('#input');
    var text = document.querySelector("#text");
    var button = document.querySelector("#button");
    var data = {value:''};

    Object.defineProperty(data, 'value', {
      get:function(){
        console.log('get value ',input.value);
        return input.value;
      },
      set:function(value){
        console.log('set value ',value);
        text.innerHTML = value;
        input.value = value;
      }
    });

    input.addEventListener("keyup", function (e) {
      data.value = e.target.value;
    }, false)

    button.addEventListener('click',function(e){
      console.log('data ',data);
    },false);
  </script>
</body>
</html>

 

标签:function,vue,text,value,var,input,model,data,view
From: https://www.cnblogs.com/cxyqts/p/16802432.html

相关文章

  • vue-router中query和params的区别
    一.query和params的知识点理解/data/:id这个路由匹配/data/1,/data/2这里的id叫params/data?id=1/data?id=2这里的id叫queryparams方法传参时,要在路由后面加......
  • vue点击按钮回到顶部实现
      效果图iconfont哪些图标自己加,这个是要滚动到下面才出现箭头的,最好高度超过  100vh       全部代码<template><divclass="go-to-top">......
  • UModel2016和EA12序列图正向和逆向工程
    UModel2016和EA12序列图正向和逆向工程一、UModel2016正向和逆向工程【步骤0】在http://www.altova.com/download-trial.html下载AltovaMissionKit2016,安装。初次运行时会......
  • YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来
     前言上一篇博客给大家介绍了使用opencv加载YOLOv5的onnx模型,但我们发现使用CPU进行推理检测确实有些慢,那难道在CPU上就不能愉快地进行物体识别了吗?当然可以啦,这不LabVI......
  • 新建Vue+Electron项目
    一、使用VueCli创建Vue项目参考地址:https://cli.vuejs.org/zh/guide/creating-a-project.html控制台运行命令vuecreatehello-world创建过程直接默认,一路回车操作......
  • 基于SpringBoot+Vue乒乓球馆场地预约管理系统Java项目(源码调试+讲解+文档)
    ......
  • 【Vue】悬浮窗和聚焦登录组件经验总结
    前言 本文整理了实现悬浮窗以及聚焦登录组件的功能。 为的是方便大家和自己的学习。 省流:可以只看1.2和2的代码即可1悬浮窗现在各大流行视频网站的平台都在使用这种悬浮......
  • 【Vue】Axios详解
    @[toc]1Axios简介1.1什么是Axios?Axios是一个基于​​promise​​​网络请求库,作用于​​node.js​​和浏览器中。它是​​isomorphic​​​的(即同一套代码可以运......
  • vue + Reat 日期格式化
    可以在VUE和React上使用,将日期格式化xxxx年xx月xx日在VUE中需要放在filters中,使用方法:时间|formatTimeReact使用方式类似。filters:{formatTime:function(v......
  • vue 打印
    print.js/*eslint-disable*/constPrint=function(dom,options){ if(!(thisinstanceofPrint))returnnewPrint(dom,options); this.options=this.......