问题标签 [object.observe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Ember.js 对象观察者是否等同于 ES6 Harmony Object.observe?
看着对象内部的新观察 ES6 功能,我想知道 Ember 和 ES6 是等价的还是不同的?我们可以在 ember 中安全地使用Watchjs polyfill吗?
javascript - Object.observe() 如何影响性能?
Object.observe () JavaScript API 允许任何一段代码接收任何 JavaScript 对象的所有属性更改的更改通知。
这不会严重影响 JavaScript 引擎(即 V8)可以执行的代码生成和性能优化吗?如果必须生成更改通知,生成的本机代码现在似乎必须检查对对象的每一次写入。无法静态确定给定对象是否设置了通知。因此无法优化检查。
似乎任何符合标准的 JavaScript 引擎现在都因为这个 API 而陷入永久性和严重的性能损失。
angularjs - Object.observe 会显着提升 Angularjs 吗?
现在,Angular 在几千个对象之后速度变慢,这阻止了我们构建电子表格或康威生命游戏之类的东西。
一旦 Object.observe 实现(在很远很远的将来),Angular 会成为可能吗?还是 DOM 操作会成为瓶颈?
javascript - Object.observe 和 Object.watch 有什么区别
Object.watch:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch _
Object.observe:http ://wiki.ecmascript.org/doku.php?id=harmony:observe
他们似乎都在高水平上做同样的事情。它们之间的显着区别是什么?
javascript - TypeError: Object function Object() { [native code] } has no method 'observe'
我最近开始了解这个函数 Object.observe() 并尝试在我的应用程序中实现。
但是我看到了上面提到的错误。
有人可以阐明我在这里缺少什么。
javascript - 覆盖 Object.observe() 中的属性
我想使用 Chrome 的实验性Object.observe()来覆盖对象上设置的所有函数:
不幸的是,控制台仍然显示"helloWorld() was called"。实际上是否可以覆盖对象观察者中当前更改的值?
由于这只是一个实验(没有生产代码!),我很欣赏任何类型的解决方案。
javascript - 哪些浏览器支持 Object.observe?
哪些浏览器(如果有)支持Object.observe
?我很惊讶我找不到任何有关此的信息。
(您是否知道此功能的预计到达时间?)
关于 Object.observe:“Object.observe 允许直接观察 ECMAScript 对象的更改。它允许观察者接收按时间排序的更改记录序列,这些记录描述了对观察到的对象集发生的更改集。 " — 参见ecmascript.org的解决方案部分。)
2015 年 11 月编辑:显然 Object.observe 已被取消:
http://www.infoq.com/news/2015/11/object-observe-withdrawn
https://esdiscuss.org/topic/an-update-on-object-observe
“我计划从 TC39 撤回 Object.observe 提案”
https://esdiscuss.org/topic/save-object-observe-please-make-weakmap-weakset-observable
“保存 Object.observe()!(请)”
javascript - 使用更改观察者观察 Object.observe() 下的原生属性
现在Object.observe()
在 Chrome 中默认启用,我遇到了一堆我想重用浏览器的内置属性 ( hidden
, title
, draggable
) 的情况,但是*Changed
当属性更改时不再调用观察者。
一个例子是hidden
:http: //jsbin.com/jizikaje/1/edit(hiddenChanged()
从不调用)
我目前的解决方法是用来attributeChanged()
观察属性变化:
推荐的方法是什么?
顺便说一句,尝试使用本机属性时发出警告将需要很长时间才能进行调试:https ://github.com/Polymer/polymer/issues/379
javascript - 从多个地方观看相同 obj/property 的最有效的“观看”js 是什么?
我使用 ECMA7Object.observe
或 MozillaObject.watch
而不是eventEmitter
node 进行数据绑定。
对于Object.observe
,我找不到任何关于 android 浏览器兼容性的实现。他们基本上必须使用 setTimeout 轮询,所以我放弃了。
相反,Object.watch
可以在没有任何轮询的情况下使用 Chrome 库和本机 Firefox 等运行。
我找到的代码是
这适用于
但是,出现了一个大问题,就是当我在各个地方实现多个watch时,只有第一个obj.watch被触发,其余的都不会触发。
原因很明显。
在第一次触发时,其余的 obj.watch 会自动设置为监视更改的值。
测试代码:
结果:没有错误,但只发出一次警报。
实际上,我试图找到允许为同一对象实例/属性触发多个监视块的替代库/机制。
同样,我将避免使用 eventEmitter 模式,而是避免使用观察者模式。你有什么主意吗?谢谢。
javascript - Object.observe - 多个观察者支持?
有人可以告诉我Object.observe()
(一旦实施)是否允许通过多次调用注册多个观察者?还是只有最后一个会留下?
例如,如果我这样做:
当我的对象更新或仅更新时,这两个函数都会被调用mySecondFunction
吗?