AngularJS(1.x) - 如何刷新视图

时间:2016-01-11 20:25:48

标签: angularjs

我有以下情况......我必须在视口区域内绘制一堆矩形。这些矩形(div确实)的大小基于一些数据。

控制器到达服务器,抓取数据,并根据视口中分配给它的可用空间调整div的大小。

大致是:

<div ng-init="main.init();">   
   <div ng-repeat="icon in main.icons"
     style="top: {{icon.top}}px;
            left: {{icon.left}}px;
            width: {{icon.width}}px;
            height: {{icon.height}}px;"></div>
</div>

main.init()函数使用angular.element()调用到达DOM,获取可用空间的宽度和高度,并调用一个执行一些复杂计算的服务(基本上是一个包装算法来定位和调整大小在给定区域的情况下,以最佳方式使用矩形。

我唯一的问题是屏幕调整大小。如果用户调整屏幕大小,我的可用空间(以%定义)也会发生变化,我需要重新绘制这些矩形。

我目前正在重新加载整个页面,重新调整窗口大小,但这显然不是我想要的。

还有一件事......有很多这些数据点转化为矩形:10K-20K。

如何在Angular中正确执行此操作,以便我的窗口大小可以计算并重新绘制它们。简单地更新控制器中的main.icons似乎不会触发ng-repeat来重绘所有内容。不知道为什么。

任何帮助都将不胜感激。

0 个答案:

没有答案