- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个图表应用程序,允许您使用拖放界面创建图表。
我有 highcharts,我正在使用 highcharts-ng指示。
该指令监视标题、选项和系列。当有人进行更改时,我会处理它们并对选项对象进行更改。然后 highcharts-ng 重新绘制图表。
我发现的问题是,我连续更改了几个属性,例如 options.xAxis 和 options.yAxis,每当我这样做时,应用程序都会有点滞后,因为它会为每次更改启动重绘。
那么在保持高效的同时,有什么 Angular 方法可以解决这个问题呢?
我想到的一个潜在解决方案是向 highcharts-ng 指令添加一个标志,并在它发生更改时触发它。然后在我完成数据处理后更改它。另一个可能的解决方案是在 highchart-ng 指令中监听某个事件,然后在收到该事件时触发重绘。但这些解决方案对我来说似乎/感觉有点老套。
最佳答案
Angular 会进行自己的脏检查,并且(理想情况下总是如此,但实际上并非如此)只要相应的 View 模型发生变化,就会重写 DOM 的 Angular 控制部分。我认为这种行为对于 Angular 来说是如此基础,如果您不喜欢它,您最好解决它,或者使用不同的数据绑定(bind)框架。
我推荐的解决方法基本上是您在第一个选项中描述的: View 模型中的 View 模型。在指令的范围内有一个私有(private)变量,它跟踪您感兴趣的更改,这些更改发生的频率比您想要重绘的频率高。然后,当您准备重绘时(您需要自己的逻辑来确定“准备就绪”……时间?特定类型的更改?特定的更改阈值?),通过设置您的私有(private)更新真实 View 模型变量回到其在真实 View 模型上的原始字段。
代码草图:
// (inside the directive)
var _options = $scope.options;
// ...
// rapidfire updates happen; save them to _options rather than $scope.options
// ...
// now you're ready to redraw:
$scope.options = _options; // angular now knows $scope is dirty and triggers the redraw
关于javascript - 处理重绘的 Angular 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153995/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!