如何使用ng-if在Angular中显示表行?

时间:2017-06-13 17:48:58

标签: javascript angularjs

我试图使用ng-if按规则显示表格,但不幸的是,它不起作用。

我尝试过与 p div 等其他元素相同的代码,并且可以使用它们。

我将使用以下代码来获取搜索结果,因此如果有人搜索了某些内容,那么结果应该是活动的,而ng-repeat将重复REST调用的结果,否则它应该重复数据来自默认的REST调用。

所以我有两个休息电话,结果应该分开。

当前的HTML代码:

<tr ng-if="searchActive==0" dir-paginate="reservation in reservations | filter:q | itemsPerPage: pageSize | orderBy:sortType:sortReverse " current-page="currentPage" ng-init="currentPage=1">
<tr ng-if="searchActive==1" dir-paginate="reservation in reservationSearchResult | filter:q | itemsPerPage: pageSize | orderBy:sortType:sortReverse " current-page="currentPage" ng-init="currentPage=1">

在我的控制器内:

// Search reservation by date
$scope.searchActive = 0;
$scope.searchForReservations = function(search){
    $scope.reservationSearchResult = ReservationsSearch.search({
        from: search.from,
        to: search.to
    }).$promise.then(function(){
         $scope.searchActive = 1;
    })
}

1 个答案:

答案 0 :(得分:0)

我相信你遇到的问题是dir-paginate会重复它所放置的控件,这对于&lt; p&gt;,&lt; li&gt;,&lt;等标签很有用。 div&gt;等,但&lt; tr&gt;&lt; / tr&gt;是表格行标签,需要&lt; td&gt;内容&lt; / td&gt;这不是使用dir-paginate创建的。

尝试这样的事情:

&lt; tr ng-if =&#34; searchActive == 0&#34; dir-paginate =&#34;预订中的预订|过滤器:q | itemsPerPage:pageSize | orderBy:sortType:sortReverse&#34;当前页=&#34;当前页&#34; NG-INIT =&#34;当前页= 1&#34;&GT;&LT; TD&GT; {{reservation.FIELD}}&LT; / TD&GT;&LT; / TR&GT;

&lt; tr ng-if =&#34; searchActive == 1&#34; dir-paginate =&#34;在reservationSearchResult中预订过滤器:q | itemsPerPage:pageSize | orderBy:sortType:sortReverse&#34;当前页=&#34;当前页&#34; NG-INIT =&#34;当前页= 1&#34;&GT;&LT; TD&GT; {{reservation.FIELD}}&LT; / TD&GT;&LT; / TR&GT;