制作网站找哪家好,番禺做网站公司,广西建设厅网站地址,潍坊公司注册网站先请看 Object.observe 的 API Object.observe(obj, callback[, acceptList])它用来监听对象的变化#xff0c;当给该对象添加属性#xff0c;修改属性时都会被依次记录下来 看一个示例 var person {}
Object.observe(person, function(arr) {var change arr[0]console.log…先请看 Object.observe 的 API Object.observe(obj, callback[, acceptList])它用来监听对象的变化当给该对象添加属性修改属性时都会被依次记录下来 看一个示例 var person {}
Object.observe(person, function(arr) {var change arr[0]console.log(change.type, change.name, change.oldValue)
})在 chrome 控制台里修改 person 可以看到给 person 添加、修改和删除属性都没记录下来了。这个 person 可以看出是 MV* 里的 Model当数据模型发生变化的时候通过 Object.observe 的回调就能方便的监听通知 View。 这是一个强大的功能可以实现很多MV*库里的 “双向绑定”比如 AngularKnockout。有了它不必自己去写一套观察者代码可惜ES7最终将它放弃。 Over three years ago, Rafael Weinstein, Erik Arvidsson, and I set out to
design and implement what we believed to be the primitive underlying the
data-binding system of MDV (model-driven views). We prototyped an
implementation in a branch of V8, then got agreement from the V8 team to
build a real version upstream, while pushing Object.observe (O.o) as a
part of the upcoming ES7 standard and working with the Polymer team to
build their data-binding system on top of O.o.Three years later, the world has changed in a variety of ways. While other
data-binding frameworks (such as Ember and Angular) showed interest, it was
difficult to see how they could evolve their existing model to match that
of O.o. Polymer rewrote from the ground up for its 1.0 release, and in that
rebuilding did not utilize O.o. And Reacts processing model, which tries
to avoid the mutable state inherent in data-binding systems, has become
quite popular on the web.After much discussion with the parties involved, I plan to withdraw the
Object.observe proposal from TC39 (where it currently sits at stage 2 in
the ES spec process), and hope to remove support from V8 by the end of the
year (the feature is used on 0.0169% of Chrome pageviews, according to
chromestatus.com).For developers who have been experimenting with O.o and are seeking a
transition path, consider using a polyfill such as
https://github.com/MaxArt2501/object-observe or a wrapper library like
https://github.com/polymer/observe-js. 相关 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe https://github.com/polymer/observe-js https://github.com/MaxArt2501/object-observe https://mail.mozilla.org/pipermail/es-discuss/2015-November/044684.html