在angularjs中替换ng的替代方法是什么?

时间:2017-03-21 07:44:40

标签: angularjs

通常,ng-repeat用于表示来自控制器的视图中的对象和数组。它用于重复数据组中的每个元素。我想知道表示数据组的替代方法不使用ng-repeat的视图。

2 个答案:

答案 0 :(得分:1)

虽然答案取决于您提供解决方案的情况,

根据我的开发经验,如果您的数据非常少,则ng-repeat是好的。如果数据很重,则ng-repeat的性能会降低很多。

为了解决上述问题,我们可以选择自定义指令

以下是一些您可以寻求获得一些想法的指令

AngularJS ng-repeat Alternative Approach

本文档将逐步介绍创建自定义指令的方法。

  

这是关于ng-repeat处理大量数据的替代方法   绑定更好的页面性能。本文将提供   有关如何用特定数据替换特定ng-repeat的见解。

AngularJS directive for much more quicker lists rendering

您可以添加的自定义指令,您可以根据您的要求使用以下功能进行自定义

  
      
  • 浅名表(ngRepeat使用深表)
  •   
  • 动画支持
  •   
  • 在摘要周期之外导致列表呈现的特殊服务
  •   
  • 即使在繁重的复杂列表上也能平滑滚动(查看示例)
  •   
  • 性能提升约200%
  •   
  • 还在犹豫吗?尝试使用ng-repeat列表和带有quick-ng-repeat的页面滚动页面
  •   

除此之外,我可以寻求一些解决方案,如分页延迟加载等,以提高性能

答案 1 :(得分:0)

当您没有大量数据时,

ng-repeat很适合使用。使用ng-repeat有一个优点,无论何时使用 track by $ index ,它都会进行一些散列,当它遇到类似的元素时更新模型属性,它不会重新计算该特定元素的布局。在幕后,ngRepeat为每个任务添加一个$$ hashKey属性以跟踪它。

但是当你拥有大型数据集时,ng-repeat不适合使用,因为它涉及繁重的DOM操作。你应该考虑使用ng-repeat和分页。

您可以考虑在自定义指令中使用transclusion,以实现您正在寻找的行为,而无需使用ng-repeat。