问题标签 [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 - Object.observe() 不起作用原生 Image 对象
这不起作用(在 OSX 上的 chrome 39 中):
但这将:
这也将是:
因此问题与 Image 作为本机构造函数没有直接关系(因为 XMLHttpRequest 按预期工作) - 它似乎是特定于设置 img.src 的东西。我只能猜测这是因为设置 src 的行为很像方法(因为它会导致发出请求)。JS中是否存在可以像属性一样调用的方法?
假设不是这样,有没有人知道/可以猜测这是否是 Object.observe 的期望行为(在mdn docs 中看不到任何内容),如果不是,我将其报告为错误的最佳位置可能是哪里?
javascript - 如何在 javascript 中使用 Object.deliverChangeRecords 方法
我了解如何使用Object.observe()
, 和Object.getNotifier(obj).notify
or Object.getNotifier(obj).performChange
, 但我该如何使用Object.deliverChangeRecords()
javascript - Object.observe 而不是用 AngularJS 1.x 进行脏检查
如果浏览器支持,有没有办法Object.observe
代替 AngularJS 1.x 中的脏检查?这可以显着提高性能。
Object.observe
目前至少被谷歌浏览器支持:http: //kangax.github.io/compat-table/es7/
javascript - 观察对象是否发生了变化
每次对象更改时是否可以执行一些代码?
它似乎仅在 Firefox 上可用:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
如何在 JavaScript / node.js 中实现这一点?(如果可能,不使用 getter/setter 方法)
javascript - JavaScript Object.Observe 委托
我有 JavaScript 数组,它由许多对象组成。
我想用来Object.observe
处理每个对象的数据更改。
有没有办法在这里应用事件委托之类的东西,以便不申请observe
每个对象?
如果我使用Object.observe
数组本身而不是更改其项目不会触发任何事情。
javascript - Object.observe order
I am using Object.observe() on node v0.11.13.
It looks like the time of the observation callback to be called can't be predicted. is it a bug or a feature?
Take a look at this code:
The output looks like:
I would expect an opposite order. I wonder if this is related to the spec or to node impl' of this feature.
javascript - Object.observe - 并非所有主要浏览器都支持,我可以使用什么替代方案?
我有这个在 Chrome 中工作的函数,当名为finishedLoading 的变量更改值时,它会打印到控制台。
这在许多其他现代浏览器(例如 firefox、safari)中不起作用。有没有我可以使用的替代方案得到更好的支持?谢谢!
javascript - 什么函数改变了我的对象(使用 Object.observe 获取此信息)
一段时间以来,我研究Object.observe
函数并想知道是否可以将其用作“观察者”来帮助我找到作为更改发起者的函数(带有堆栈跟踪)。请参阅下面的代码片段:
我怎样才能得到callerFun
改变的信息struc
?
google-chrome - 如何使用 Polymer 检测数组中对象属性的变化?
假设我想用 Polymer (v0.5.5) 创建一个待办事项列表。在我的元素中,我定义了一个属性tasks
,它是一个包含对象列表的数组,例如{ name: 'foo', done: false }
. 我想显示剩余任务的数量,所以我需要检测done
数组中包含的对象的属性何时发生变化。
这是代码的摘录:
使用 Firefox,它可以工作,但不能使用 Chrome (41.x)。确实,Chrome 只检测数组本身的变化(例如,如果我添加一个新任务,剩余的计数会正确更新)。
我怎么做?
谢谢
编辑,关于安迪的回答
当我做那种事情时:
如果我对数组本身进行修改(如 中tasks.push({...})
),则会显示一个弹出窗口。但是,如果我更改包含在数组中的对象的属性(例如tasks[0].done = true
),则什么也不会发生。这就是我问题的根源...
javascript - 观察 ES6 模块属性
我有一个模块:
someMethod
将执行迭代数组的操作。我想progress.val
在每次迭代时加一。然后应该可以观察到这一进展:
不幸的是,observers 回调只被调用一次,每次迭代都包含一个更改数组。
如何在每次迭代中调用回调?