1,说下vue的双向绑定数据的原理? 答:vue实现数据双向绑定主要是采用数据劫持结合“发布者-订阅者”模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。 2,解释单项数据流和双向数据绑定? 答 ...
分类:
其他好文 时间:
2019-09-19 14:11:11
阅读次数:
98
今天coding,无意写了个小bug出来,dialog去dismiss的时候不起作用,后来排查到是在dispatchTouchEvent中去show dialog时,有可能会创建两个Dialog,然后监听回调还是第一个的,当dismiss的时候,mDocorView是null的,所以dismiss的 ...
分类:
移动开发 时间:
2019-09-06 01:25:46
阅读次数:
120
public class UpPullRecyclerViewOnScrollListener extends RecyclerView.OnScrollListener { //监听回调 private UpPullOnScrollListener listener; public UpPullR ...
分类:
其他好文 时间:
2019-08-04 19:57:59
阅读次数:
216
组件三大API之二: event 在上一节中讲到prop单向下行数据绑定的特征,父组件向子组件传值通过prop实现,那如果有子组件需要向父组件传值或其它通信请求,可以通过 的事件监听系统(触发事件,执行监听回调函数,并且可以在回调函数中接受传参)。 内置了一套完整的事件触发器逻辑: : 原来HTML ...
数据劫持 vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。 Object.defineProperty() Object.defineProper ...
分类:
其他好文 时间:
2019-04-15 16:35:35
阅读次数:
178
原理: vue是通过数据劫持结合发布者-订阅者模式的方式来做数据绑定的,在数据变动时发布消息给订阅者,触发相应的监听回调。model层与view层同步,两者之间任意一个发生变化都会同步更新到另一者。 经常的应用场景就是表单了,这样当用户在前端页面完成输入后,不用任何操作,我们就已经拿到了用户的数据存 ...
分类:
其他好文 时间:
2018-12-10 20:46:40
阅读次数:
196
采用 数据劫持 + 发布-订阅 模式,通过Object.definePropety()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调 需要对observer的数据对象进行递归遍历,包括子属性对象的属性,都加上setter和getter ,这样,给这个对象 ...
分类:
其他好文 时间:
2018-11-12 11:22:53
阅读次数:
175
废话不多说,上代码: 运行结果: 这里用到了函数指针(即指向函数的指针),我们要监听A类中的成员变量a,我们定义A类的时候就增加一个将来要监听a变量的函数指针列表,并增加一个registerCallback函数用于将来添加监听者,在a变化时将监听者列表里的所有监听者都调用一遍;在使用A类对象时,我们 ...
分类:
编程语言 时间:
2018-09-18 14:24:01
阅读次数:
191
前言 在ES6的异步函数出现之前,Js实现异步编程只有settimeout、事件监听、回调函数等几种方法 settTmeout 这种方法常用于定时器与动画的功能,因为其本质上其实是浏览器的WebAPIs功能,因此与主线程并不同,当延时方法到达触发条件时,方法被添加到用于回调的任务队列,只要执行引擎栈 ...
分类:
其他好文 时间:
2017-12-31 16:44:59
阅读次数:
230
1.数据结构 快速排序的原理,时间复杂度2.js的事件委托原理、 window.onload = function(){ var oUl = document.getElementById("ul1"); oUl.onclick = function(ev){ var ev = ev || wind ...
分类:
其他好文 时间:
2017-12-15 19:34:36
阅读次数:
111