【问题标题】:replacing angular deep watcher更换角度深度观察者
【发布时间】:2015-04-30 16:52:42
【问题描述】:

我有一个名为 fulldata 的数据对象,它是一个对象数组。

    fulldata = [
               {'key': 'abc', values: {.....},....},
               {'key': 'efg', values: {.....},....},
               {'key': 'hij', values: {.....},....},
               .....]

此数据用于使用D3显示图表,对象的键代表图表的图例。每次用户输入图表时,该对象都会添加到 fulldata。现在,如果对象的值属性发生变化(由于各种用户操作),我将不得不相应地重新渲染图表,但如果只有键发生变化,我只需要更新图例。

我尝试深入观察整个完整数据,如果基于条件更改键,则仅更改图例。它工作正常,但应用程序非常慢,因为 values 属性是一个非常庞大的数据集。

我尝试创建一个单独的函数 getKeys() 来获取所有键并查看该函数,但它向我抛出一个错误,提示“Error:10 $digest() 迭代已达到。中止!”

还有什么我可以尝试通过比深度观看更好的表现来完成我想要的事情吗?如果有人有想法或遇到类似问题,请帮助。谢谢。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    我尝试制作一个单独的函数 getKeys() 来获取所有键和 看那个功能

    这似乎是个好主意,但不要忘记将 $watch 的第三个参数设置为 true 以防止无限循环。

    【讨论】:

    • 啊!应该是这个!谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2018-09-24
    相关资源
    最近更新 更多