取代了棱角分明的深度观察者
replacing angular deep watcher
我有一个名为fulldata的数据对象,它是一个对象数组。
fulldata = [
{'key': 'abc', values: {.....},....},
{'key': 'efg', values: {.....},....},
{'key': 'hij', values: {.....},....},
.....]
该数据用于使用D3显示图表,并且对象的键表示图表的图例。每次用户输入图表时,对象都会添加到完整数据中。现在,如果对象的values属性发生变化(由于各种用户操作),我将不得不相应地重新呈现图表,但如果只有键发生变化,我只需要更新图例。
我试着深入观察整个完整数据,如果键是基于条件更改的,则只更改图例。它运行良好,但应用程序非常慢,因为values属性是一个非常庞大的数据集。
我试着制作一个单独的函数getKeys()来获取所有的键并观察该函数,但它给我带来了一个错误:"错误:达到10$digest()迭代。正在中止!"
我还有什么可以尝试通过比深度观看更好的表演来实现我想要的吗?如果有人有想法或遇到过类似的问题,请提供帮助。谢谢
我尝试制作一个单独的函数getKeys()来获取所有的键和观察的功能
这似乎是个好主意,但不要忘记将$watch的第三个参数设置为true,以防止无限循环。
相关文章:
- 在不知道深度或父属性的情况下从对象中删除属性
- 递归深度比较
- 如何对映射插件创建的敲除对象进行深度复制
- 3d上的深度比例错误
- 将对象从另一个不可变的Map分配给Map是否意味着深度克隆
- BatmanJS:深度嵌套路由
- Chai深度包含了对嵌套对象的断言
- javascript对象值的动态深度访问
- 与 lodash 进行对象深度比较的数组
- 重置剑道日期选择器的深度
- JavaScript中的深度嵌套函数
- 如何在JSDoc中记录深度大于2的符号
- 深度嵌套的backbone.js对象会导致错误
- Javascript 深度对象相等时,对象通过 json 字符串与生成器创建
- 取代了棱角分明的深度观察者
- 使用AngularJS观察整个对象(深度观察)
- 在angular中观察复杂对象层次的深度和内容
- 深度可观察对象和foreach模板
- 如何在angularjs中深度观察一个对象,排除指定的模式
- 深度复制可观察数组