gpt4 book ai didi

polymer 共享观察者 : getting origin property

转载 作者:行者123 更新时间:2023-12-04 16:08:50 25 4
gpt4 key购买 nike

我有很多我想用同一个共享观察者观察的属性。假设,我想跟踪修改历史。不幸的是,标准 polymer 观察者回调,according to the documentation ,有一个简单的原型(prototype):

myObserver: function(oldValue, newValue) {}

由于我想跟踪更改,因此我需要知道更改的属性的名称。通过逆向工程 argumentsmyObserver ,我惊讶地发现,有第三个类型的参数 Arguments[3]传递给函数。所以下面的代码^W woodoo-magic 可以解决问题:
myObserver: function() {
if (arguments.length > 2) { // observer called by polymer
var args = arguments[2];
var idx = args[1].length - 1; // sic! index of changed is stored in index
var prop = args[2][idx * 2 + 1][0];
var val = args[0][idx];

console.log("Property [" + prop + "] got new value: " + val);
}
...
}

理智并渴望保持理智,我想知道我是否错过了从观察者那里获取更改后的属性名称的更友好的方式。

@ebidel 和@robdodson 你能解释一下吗? arguments[2]最新版本是否支持?有没有更好的方法来应对变化?

提前致谢。

最佳答案

我认为您正在寻找一种不同的机制。如果您确实愿意采用不同的机制来实现您需要的功能,那么查看 MutationObserver 可能不会有什么坏处。我已经设法玩弄了 this answer 中的演示。并且可以轻松地记录我的 chrome 控制台这个 MutationObserver 正在观察的元素。

希望这可以帮助 !

关于 polymer 共享观察者 : getting origin property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28265025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com