gpt4 book ai didi

angularjs - 带有 true 的 Angular watch - 更改了哪个属性

转载 作者:行者123 更新时间:2023-12-03 21:40:04 26 4
gpt4 key购买 nike

我有一个对其进行深度观察的对象(在 $watch 的第三个参数中为真)。
当 watch 被触发时,我想知道哪个属性发生了变化。我得到的只是新旧值(value)。有什么好的方法可以知道发生了什么变化?我不想比较新旧对象并搜索更改的属性。

最佳答案

不是最干净的方法,但解决此问题的非纯 AngularJS 方法是使用 Object.observe()在对象上而不是 $watch 上,因为它传递了已更改属性的名称。

Object.observe() 的外部链接

  • Article - Respond to change with Object.observe
  • Compatability table
  • Polyfill


  • 另一种方法是覆盖对象上的 getter 和 setter,以便它们创建一个已更改的属性列表,该列表存储在对象内部。不确定这个的确切实现,它也不是那么干净。

    关于angularjs - 带有 true 的 Angular watch - 更改了哪个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22435695/

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