【问题标题】:in angularjs is there a way to show a number of divs using a directive or feature of some sort?在 angularjs 中,有没有办法使用某种指令或功能来显示多个 div?
【发布时间】:2018-08-20 13:40:21
【问题描述】:

在angularjs中,有没有办法像div一样显示一定数量的单个html元素。例如,我希望 angular 显示一个 div 5 次:

html

<div ng-show="5"><p>testing</p></div>

我希望 angular 无需任何额外的 javascript 就可以显示上述 div 5 次,只需使用像指令这样的 angular 功能。你会如何在 angularjs 中做到这一点?

【问题讨论】:

  • 你试过ng-repeat吗?

标签: javascript jquery html angularjs


【解决方案1】:

您可以使用ng-repeat

<div ng-repeat="n in new Array(5)"><p>testing</p></div>

这可能不起作用,因此您必须在您的范围内定义一个数组生成函数。

像这样:

$scope.arrayn = (n) => new Array(n);

然后

<div ng-repeat="n in arrayn(5)"><p>testing</p></div>

【讨论】:

  • 谢谢。现在我如何使用 5 作为变量而不是对其进行硬编码?
  • @dave(他的语法错误)你可以尝试使用一个创建一定大小数组的函数:'n in create_array(5) track by $index'
  • 您可以在您的范围内创建这个新数组并改用该变量。我不太了解角度,所以我不能深入了解它,但这就是你循环的方式。
  • 这适用于 vue,所以我认为它适用于 Angular,因为符号几乎相同。 jsfiddle.net/yzujvoq9
  • @Phiter 它使用范围进行评估,因此它假定 new 在控制器中的某个位置并写为 $scope.new = function(){...}
猜你喜欢
  • 1970-01-01
  • 2020-07-01
  • 2013-05-30
  • 1970-01-01
  • 2020-01-12
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
相关资源
最近更新 更多