【问题标题】:Loop through html tags in Angular2循环遍历Angular2中的html标签
【发布时间】:2016-03-05 11:19:46
【问题描述】:

我想用 Angular2 构建一个有 48 行的表,我想用 ngFor 来做。现在我通过一个数组(大小为 48)来做到这一点,但我认为它的效率很低,而且不是一种好的编程风格。 有没有一种优雅的方法可以在 Angular2 中进行 html-tags 循环?我可以在哪里设置开始和结束,有什么正常的吗?

在组件中我有这个数组:

private rows = new Array(48);

HTML 如下所示:

<table border="1">
  <tr *ngFor="#row of rows ; #i = index">
    <td>{{i}}</td>
   </tr>
 </table>

【问题讨论】:

  • 关于这可能有用的用例的更多具体信息?
  • 你想绑定*ngFor的长度吗?起点和终点?
  • 我想要一个带有起点和终点的循环而不使用数组
  • 是的,我有一个使用 *ngFor 的 HTML 技巧,您可以在其中使用起点和终点,但如果您需要同样的问题,则必须使用数组作为答案。

标签: angular


【解决方案1】:

正如上面评论中提到的,提问者希望在 HTML 中使用*ngFor,但要定义一些起点和终点。所以 *ngFor 并不存在与官员完全相同的属性,但是是的,我们可以用这个技巧做同样的事情。我假设一个演示示例会根据您的需要进行修改。

<ul>
  <div *ngFor="#a of abc">
  <li *ngIf='a<6'>
    <span >{{a}}</span>
  </li>
  </div>
</ul>

abc = [1,2,3,4,5,6,7,8,9];

这样我们就可以绑定起点和终点了。

工作plunkr example.

【讨论】:

    【解决方案2】:

    不,只有ngFor。恕我直言,在不直接依赖于为行构建的任何具体数据的循环中构建 HTML 是非常不寻常的。

    【讨论】:

    • 我想建立一个有 7 列和 48 行的星期表。你有什么建议可以加快我的餐桌速度?
    • 使用静态 HTML,或者您也可以在 TypeScript for 循环中创建一个字符串并使用[innerHtml]="someGeneratedHtml"添加它
    • 好的,我会这样做的!谢谢
    • 我现在已经更改了代码,但我有一个问题:在 内部我有一个带有角度(点击)功能的链接。问题是 angular 没有在 innerHtml 中解释......我该怎么办?
    • 使用 ngFor 或静态 HTML。当位复制粘贴(静态 HTML 方法)会导致更有效的解决方案时,为什么需要动态生成它?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签