angularjs ng-如果ng-repeat不为空

吉尔黑布尔

我有一个元素列表,仅当不为null和empty时才要显示,为此,我在ng-repeat块之前放置了ng-if:

            <tbody ng-if="adsNotEmpty">

                <!-- Start: list_row -->
                <tr ng-repeat="ad in ads">
                    <td>{{$index + 1}}</td>
                    <ad-thumbnail ad="ad"/>
                </tr>                   
                <!-- End: list_row -->

            </tbody>

为此,我有一个控制器代码,该代码可评估广告列表并设置adsNotEmpty var:

controllers.controller('AdCtrl', ['$scope', 'AdService',
  function($scope, AdService) {
    $scope.ads = AdService.query();
    $scope.adsNotEmpty = ($scope.ads && $scope.ads.length > 0);
  }]);

我有一个RESTful网络服务,该服务当前返回HTTP 200 OK状态且响应为空,即使adsNotEmpty结果为false,代码仍会输入ad-thumbnail指令中:

ad-thumbnail指令内容:

<td>
AD - {{ad.name}}
</td>

即使广告列表为空,生成的HTML最终也会在屏幕上显示广告-。

产生的对象来自

$scope.ads = AdService.query();

显示在调试:

Array[0]
$promise: Object
$resolved: false
length: 0
__proto__: Array[0]

上面的代码可能有什么问题,以防止angular呈现ad-thumbnail指令?

我在这里发布解决方案以供参考:

在控制器中:

controllers.controller('AdCtrl', ['$scope', 'AdService',
  function($scope, AdService) {

    AdService.query(function(data) {
        $scope.ads = data;
        $scope.adsNotEmpty = ($scope.ads.length > 0);
    });

并在页面中:

    <tbody>
        <!-- Start: list_row -->
        <tr ng-repeat="ad in ads">
            <td ng-if="adsNotEmpty">{{$index + 1}}</td>
            <ad-thumbnail ad="ad" ng-if="adsNotEmpty"/>
        </tr>                   
        <!-- End: list_row -->
    </tbody>
PSL

log你表演,你是不是看什么你应该。$promise在查找数据之前,您需要链接查询返回的内容。

   AdService.query().$promise.then(function(data) {
       $scope.ads = data;
       $scope.adsNotEmpty = ($scope.ads && $scope.ads.length);
   });

ng-repeat在tha实例遍历Queryhance返回的对象的属性时,您会看到空白AD-

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS:ng-如果在ng-repeat外中断ng-repeat

来自分类Dev

如果嵌套的ng-repeat不为空,如何仅显示元素?

来自分类Dev

AngularJS - 如果 ng-repeat 为空并带有过滤器,则显示 div

来自分类Dev

AngularJS ng内单击ng-repeat

来自分类Dev

ng-if在ng-repeat angularjs中

来自分类Dev

AngularJS。嵌套ng-repeat

来自分类Dev

AngularJS ng-repeat rerender

来自分类Dev

AngularJS if statement with ng-repeat

来自分类Dev

AngularJS“垂直” ng-repeat

来自分类Dev

嵌套的ng-repeat angularjs

来自分类Dev

AngularJs。ng-repeat问题

来自分类Dev

AngularJS IF ELSE 与 ng-repeat

来自分类Dev

当AngularJS对象属性为空时过滤ng-repeat

来自分类Dev

AngularJS-检查ng -repeat中是否为空项目

来自分类Dev

AngularJS ng-repeat:仅在数据不为假时显示数据

来自分类Dev

如果从外部ng-repeat $ scope进行的更新也未定义,则ng-repeat中的AngularJS ng-model $ scope是未定义的

来自分类Dev

AngularJs:ng-如果反应太晚

来自分类Dev

AngularJS如果ng-repeat小于x,则添加其他项

来自分类Dev

如果div移动,AngularJS ng-repeat将不起作用

来自分类Dev

AngularJS-如果任何值超过ng-repeat元素值,如何禁用“提交”按钮

来自分类Dev

如果使用 Angularjs ng-repeat,则 JQuery 无法处理输入标签

来自分类Dev

AngularJS和具有ng-repeat的ng样式

来自分类Dev

ng-repeat中的AngularJS ng-option

来自分类Dev

AngularJS:从外部ng-repeat控制ng-show

来自分类Dev

ng-repeat中未触发AngularJS ng click事件

来自分类Dev

AngularJS:使ng-model在ng-repeat之外可用

来自分类Dev

在ng-repeat angularjs中使用ng-model

来自分类Dev

在ng-repeat Angularjs中进行ng-switch

来自分类Dev

AngularJS:ng-repeat和ng-class

Related 相关文章

热门标签

归档