问题标签 [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.

0 投票
1 回答
1251 浏览

javascript - Ember.js 对象观察者是否等同于 ES6 Harmony Object.observe?

看着对象内部的新观察 ES6 功能,我想知道 Ember 和 ES6 是等价的还是不同的?我们可以在 ember 中安全地使用Watchjs polyfill吗?

0 投票
2 回答
4752 浏览

javascript - Object.observe() 如何影响性能?

Object.observe () JavaScript API 允许任何一段代码接收任何 JavaScript 对象的所有属性更改的更改通知。

这不会严重影响 JavaScript 引擎(即 V8)可以执行的代码生成和性能优化吗?如果必须生成更改通知,生成的本机代码现在似乎必须检查对对象的每一次写入。无法静态确定给定对象是否设置了通知。因此无法优化检查。

似乎任何符合标准的 JavaScript 引擎现在都因为这个 API 而陷入永久性和严重的性能损失。

0 投票
2 回答
2236 浏览

angularjs - Object.observe 会显着提升 Angularjs 吗?

现在,Angular 在几千个对象之后速度变慢,这阻止了我们构建电子表格或康威生命游戏之类的东西。

一旦 Object.observe 实现(在很远很远的将来),Angular 会成为可能吗?还是 DOM 操作会成为瓶颈?

0 投票
1 回答
1226 浏览

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

他们似乎都在高水平上做同样的事情。它们之间的显着区别是什么?

0 投票
1 回答
2833 浏览

javascript - TypeError: Object function Object() { [native code] } has no method 'observe'

我最近开始了解这个函数 Object.observe() 并尝试在我的应用程序中实现。

但是我看到了上面提到的错误。

有人可以阐明我在这里缺少什么。

0 投票
1 回答
588 浏览

javascript - 覆盖 Object.observe() 中的属性

我想使用 Chrome 的实验性Object.observe()来覆盖对象上设置的所有函数:

→ jsFiddle

不幸的是,控制台仍然显示"helloWorld() was called"。实际上是否可以覆盖对象观察者中当前更改的值?

由于这只是一个实验(没有生产代码!),我很欣赏任何类型的解决方案。

0 投票
7 回答
22194 浏览

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()!(请)”

0 投票
2 回答
640 浏览

javascript - 使用更改观察者观察 Object.observe() 下的原生​​属性

现在Object.observe()在 Chrome 中默认启用,我遇到了一堆我想重用浏览器的内置属性 ( hidden, title, draggable) 的情况,但是*Changed当属性更改时不再调用观察者。

一个例子是hidden:http: //jsbin.com/jizikaje/1/edithiddenChanged()从不调用)

我目前的解决方法是用来attributeChanged()观察属性变化:

推荐的方法是什么?


顺便说一句,尝试使用本机属性时发出警告将需要很长时间才能进行调试:https ://github.com/Polymer/polymer/issues/379

0 投票
3 回答
1196 浏览

javascript - 从多个地方观看相同 obj/property 的最有效的“观看”js 是什么?

我使用 ECMA7Object.observe或 MozillaObject.watch而不是eventEmitternode 进行数据绑定。

对于Object.observe,我找不到任何关于 android 浏览器兼容性的实现。他们基本上必须使用 setTimeout 轮询,所以我放弃了。

相反,Object.watch可以在没有任何轮询的情况下使用 Chrome 库和本机 Firefox 等运行。

我找到的代码是

这适用于

但是,出现了一个大问题,就是当我在各个地方实现多个watch时,只有第一个obj.watch被触发,其余的都不会触发。

原因很明显。

在第一次触发时,其余的 obj.watch 会自动设置为监视更改的值。

测试代码:

结果:没有错误,但只发出一次警报。

实际上,我试图找到允许为同一对象实例/属性触发多个监视块的替代库/机制。

同样,我将避免使用 eventEmitter 模式,而是避免使用观察者模式。你有什么主意吗?谢谢。

0 投票
1 回答
262 浏览

javascript - Object.observe - 多个观察者支持?

有人可以告诉我Object.observe()(一旦实施)是否允许通过多次调用注册多个观察者?还是只有最后一个会留下?

例如,如果我这样做:

当我的对象更新或仅更新时,这两个函数都会被调用mySecondFunction吗?