美文网首页
手动实现一个基础的双向数据绑定

手动实现一个基础的双向数据绑定

作者: 指尖跳动 | 来源:发表于2020-04-10 17:30 被阅读0次
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div id="app">
    <input type="" name="" v-model='message'><br>
    <span v-bind='message'></span>

</div>
    <script type="text/javascript">
        var data = {
            message:''
        }
        var input = document.querySelector('[v-model=message]')
        input.onkeyup=function(){
            data.message = input.value
            // data.message 发生改变 触发 Object.defineproperty
        }
    
        Object.defineProperty(data, 'message', {
            // set 接受唯一参数,即该属性新的参数值。
            set(newValue){
                var span = document.querySelector('[v-bind=message]')
                span.innerHTML=newValue
                this.value = newValue
            },
            // get 方法执行时没有参数传入
            get(){
                //将newValue 返回给 message
                return this.value
            }
    
        })
    
    </script>
</body>
</html>

相关文章

  • Vue 实例 一

    Vue实例基础一 数据的双向绑定 v-model 绑定表单的相应事件,和数据实现动态的双向绑定,需要在Vue实例中...

  • 手动实现一个基础的双向数据绑定

  • react实现数据双向绑定

    react实现数据双向绑定要比vue麻烦了一点,需要手动进行数据更新。 以一个input为例,绑定一个state值...

  • vue 双向数据绑定

    Vue实现数据双向绑定的原理:Object.defineProperty()vue实现数据双向绑定主要是:采用数据...

  • Vue实现数据双向绑定的原理

    Vue实现数据双向绑定的原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数...

  • vue的this.$set的作用

    用于手动让vue实现动态绑定数据 如果我们在创建实例以后,再在实例上绑定新属性,vue是无法进行双向绑定的。比如:...

  • 深入Vue响应式原理

    1.Vue的双向数据绑定 参考 vue的双向绑定原理及实现Vue双向绑定的实现原理Object.definepro...

  • Vue框架基础

    原生js与Vue框架的区别 用原生实现双向数据绑定 用Vue实现双向数据绑定 Vue是一个javaScript框架...

  • vue2.0实现购物车和地址选配功能

    一、基础知识 1、创建vue实例 2、常用指令 {{}}实现数据绑定 v-model 双向数据绑定,用于input...

  • 美团面试总结

    1.angularJS双向绑定实现2.双向绑定的其他实现3.使用get,set实现双向数据绑定4.三列布局实现的三...

网友评论

      本文标题:手动实现一个基础的双向数据绑定

      本文链接:https://www.haomeiwen.com/subject/raqdmhtx.html