美文网首页
2019-09-08 双向绑定

2019-09-08 双向绑定

作者: 枫叶落尽 | 来源:发表于2019-10-07 01:26 被阅读0次

意义:

自动监视监视到数据变更,并免得你自己再去自己写代码序列化,反序列化以及同步。

https://m.imooc.com/wenda/detail/332194

Two-way binding just means that:

When properties in the model get updated, so does the UI.
When UI elements get updated, the changes get propagated back to the model.

MVVM:
https://www.liaoxuefeng.com/wiki/1022910821149312/1108898947791072

双向绑定:
https://www.liaoxuefeng.com/wiki/1022910821149312/1109527162256416

用js实现双向绑定,简单来说就是,当我们改变一个对象的某个属性的值的时候,相应的页面的相关dom的内容自动更改。
要实现这个功能,首先要监听用户的操作,然后改变对象的属性值,因为对象属性值的改变,映射到文档中某个元素的改变。

<div id="div1"></div>
<hr/>
<div id="div2">
    <input id="view">
</div>
<script>
    var o={};
    var Model;
    
    view = document.getElementById("view");
    view.addEventListener("input",MVVM);
    function MVVM()
    {
        o.ModelView = view.value;
    }
    Object.defineProperty(o,"ModelView",
                            {
                                get: function() {
                                        console.log("modelValue1 is"+modelValue1);
                                        return Model;
                                    },
                                set: function(value) {
                                        Model =  value;
                                        document.getElementById("div1").innerHTML = value;
                                    }
                            }
                        );
     
</script>
<style>
    #div1{
        width:200px; height:200px;
        background-color:black;
        color:white;
    }
    
    #div2{
        width:200px;height:200px;
        background-color:yellowgreen;
    }
</style>

可以看到,input 的值改变(识图层View改变),引发了JavaScript中的对象的属性值的改变(Mode改变),这是第一个绑定。JavaScript中的对象的属性值的改变让div内容改变(VIew改变),这是第二个绑定。

参考:
http://baijiahao.baidu.com/s?id=1598895704302488578&wfr=spider&for=pc
https://www.zhihu.com/question/44724640
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

maybe
https://blog.csdn.net/Cceking/article/details/81275392
https://www.jb51.net/article/131971.htm

相关文章

  • 2019-09-08 双向绑定

    意义: 自动监视监视到数据变更,并免得你自己再去自己写代码序列化,反序列化以及同步。 https://m.imoo...

  • Vue 中的双向数据绑定

    双向绑定 单向数据流 双向绑定 or 单向数据流 Vue 是单向数据流,不是双向绑定 Vue 的双向绑定是语法糖 ...

  • vue2.0双向绑定的使用及简单实现

    v-model双向绑定用法input的双向绑定 chechbox(利用value值) v-model双向绑定简单实...

  • Vue之表单双向数据绑定和组件

    三、表单双向数据绑定和组件 目录:双向数据绑定、组件 1.双向数据绑定 1)什么是双向数据绑定Vue.js是一个M...

  • vue 面试汇总(更新中...)

    1.说说对双向绑定的理解 1.1、双向绑定的原理是什么 我们都知道Vue是数据双向绑定的框架,双向绑定由三个重要部...

  • 深入Vue响应式原理

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

  • [转] DataBinding 数据绑定

    数据绑定分为单项绑定和双向绑定两种。单向绑定上,数据的流向是单方面的,只能从代码流向 UI;双向绑定的数据是双向的...

  • Vue双向数据绑定v-model

    v-model 数据双向绑定用作双向数据绑定 一、组件内部双向数据绑定 1、在实例的data中,设置content...

  • 「1分钟--前端01」vue双向绑定

    目录 ⊙常见双向绑定的实现方法 ⊙基于数据劫持双向绑定的优点 ⊙基于Object.defineProperty双向...

  • 02Vue.js的数据绑定

    理解Vue的双向数据绑定 Vue有一个显著的地方就是它拥有双向数据绑定功能,那么何为双向数据绑定呢?双向是指:HT...

网友评论

      本文标题:2019-09-08 双向绑定

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