在有条件的模板中的ng-repeat中编译有条件地插入的html

时间:2014-11-08 03:57:20

标签: javascript html angularjs angularjs-directive angularjs-ng-repeat

我有一个带有ng-repeat指令的指令模板,如下所示:

template: "<table ng-repeat='num in seq track by $index'><tr><td>{{$index+1}}</td><td>{{num}}</td></tr></table>"

$ scope.seq是一个数字数组,直到索引131,此时我按下了字符串"<span class='stayTuned'>stay tuned!</span>"

当然,这个字符串是按原样推送的,不是DOM元素。将这个html字符串编译成DOM元素然后&#34;追加&#34;的最佳方法是什么?它,但在我的列表的上下文中?

1 个答案:

答案 0 :(得分:1)

以下是我理解你的问题的方法,如果我要改写:

  

如果列表元素的数量超过131,如何使用ng-repeat创建列表,,附加<span>

如果是这样,你不需要任何花哨的$ compile - 只需在你的模板中使用现有的Angular指令 - ng-if和过滤器 - limitTo

模板(多行可读性):

<table ng-repeat='num in seq | limitTo: 131 track by $index'>
  <tr>
    <td>{{$index+1}}</td>
    <td>{{num}}</td>
  </tr>
</table>
<span ng-if="seq.length > 131" class='stayTuned'>stay tuned!</span>