使用Angular有条件地选择一组TD

时间:2014-01-13 21:25:25

标签: javascript html angularjs

说我有:

 <tr ng-repeat="row in rows">           
        <td>{{row.field1}}</td>
        <td>{{row.field2}}</td>
        <td>{{row.field3}}</td>

        <td>{{row.field4}}</td>
        <td>{{row.field5}}</td>
        <td>{{row.field6}}</td>
</tr>

现在我想要一个条件,我选择field1-3或field4-6 ..所以现在它是:

 <tr ng-repeat="row in rows">           
        <td ng-if='row.isFirst'>{{row.field1}}</td>
        <td ng-if='row.isFirst'>{{row.field2}}</td>
        <td ng-if='row.isFirst'>{{row.field3}}</td>

        <td ng-if='!row.isFirst'>{{row.field4}}</td>
        <td ng-if='!row.isFirst'>{{row.field5}}</td>
        <td ng-if='!row.isFirst'>{{row.field6}}</td>
</tr>

其中,当我有很多列时很烦人...我想以某种方式在实际的“td”之外有条件:

 <tr ng-repeat="row in rows">           

    <% if row.isFirst { %>
        <td>{{row.field1}}</td>
        <td>{{row.field2}}</td>
        <td>{{row.field3}}</td>

        <% else { %>

        <td>{{row.field4}}</td>
        <td>{{row.field5}}</td>
        <td>{{row.field6}}</td>

        } %>
</tr>

有点像下划线...但似乎角度不支持外部条件仅元素上的条件。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我将给你“角度方式”或MVVM方式,而不是你可能期待的“技术手法”。

Angular是一个MVVM框架,因此你的所有“逻辑”都应该在控制器或服务中,但在View(html)中不是

您要实现的目标是显示:

Model1 ={ Column1: ‘a’, Column2: ‘b’, Column3: ‘c’}

Model2 ={ Column4: ‘d’, Column5: ‘e’, Column6: ‘f’}

如果您根据模型和视图进行思考,您会发现在控制器中分离和执行这些操作要简单得多,并且具有更轻松的视图,这也是MVVM解决此问题的方式。