根据数据库中的数据使用AngularJS在表格中显示图标?

时间:2015-12-02 06:26:20

标签: angularjs

我正在尝试根据数据库中的数据在表格中显示图标。我有一个调用查询的函数,如果该数据存在则返回一个布尔值,如果它存在,我想在表上显示一个图标。我遇到的问题是,当我调用该函数时,函数执行无限次,我不确定为什么会发生这种情况。任何帮助将非常感谢!

这是将显示图标的表格:

<table class="table table striped">
  <thead>
    <tr>
      <th> ... </th>
      <th> Exists? </th>
    </tr>
  </thead>
  <tbody>
     <tr ng-repeat="item in myList">
        <td> ... </td>
        <td>
           <i ng-show="callFunctionThatReturnsBoolean(item)" class="glyphicon glyphicon-thumbs-up" aria-hidden="true">
           </i>
        </td>
      </tr>
   </tbody>
</table>

2 个答案:

答案 0 :(得分:0)

问题是ng-show不应该绑定到函数调用,因为它在每个摘要周期中调用你的函数:https://stackoverflow.com/a/20915253/2419215

但我想最好的方法是在最终版本中从后端发回模型,不要对某些列表元素进行类似的查询。

答案 1 :(得分:0)

您可以使用ng-show。当ng-show condition满足基于数据时,则显示其他图标。

我根据您的要求编写了一小段代码。

在视图中,

<td> 
  <span ng-show='item.flag'><i class="glyphicon glyphicon-user"></i></span>
  {{item.flag}}
</td>

更新:

更新了ng-show使用方法的plunker。

工作Plunker