加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 当没有给出项目时隐藏Angular ngGrid

发布时间:2020-12-17 17:18:34 所属栏目:安全 来源:网络整理
导读:我有一个到目前为止工作正常的ngGrid.但是,我想在没有给出任何项目时隐藏它,因此没有数据显示. 我试过的是: div class="gridStyle" ng-grid="gridOptions" ng-show="items.length 0"/div 这有效,当items.length等于0时,它实际上隐藏了网格,但是一旦我将数据
我有一个到目前为止工作正常的ngGrid.但是,我想在没有给出任何项目时隐藏它,因此没有数据显示.

我试过的是:

<div class="gridStyle" ng-grid="gridOptions" ng-show="items.length > 0">
</div>

这有效,当items.length等于0时,它实际上隐藏了网格,但是一旦我将数据添加到items数组,网格就不会显示.

如果我将ng-show指令放到外部div中也没有区别:

<div ng-show="items.length > 0">
  <div class="gridStyle" ng-grid="gridOptions">
  </div>
</div>

我知道我做错了什么?

负责的控制器看起来像这样:

(function (root) {
  'use strict';

  root.app.controller('listItemsController',[
    '$scope','myService',function ($scope,myService) {
      $scope.items = [];

      $scope.gridOptions = {
        columnDefs: [
          { field: 'id',displayName: 'Id' },{ field: 'type',displayName: 'Type' },{ field: 'value',displayName: 'Value' }
        ],data: 'items',enableRowSelection: false
      };

      $scope.$on('navigation::selectedItem',function (evt,selectedItem) {
        myService.getItems(selectedItem,function (err,items) {
          $scope.items = items;
        });
      });
    }
  ]);
})(window);

让项目完美运行,并在网格上设置它们也能完美地工作 – 如果我省略了ng-show指令.

UPDATE

好的,它似乎是初始渲染的问题.与开始时一样,没有项目,CSS显示属性设置为none.显然这可以避免正确的渲染.如果你通过使用覆盖它

ng-hide: {
  display:block!important;
}

在你的风格中,一切都按预期工作(当然,除了网格被隐藏).

解决方法

我用ng-if而不是ng-show解决了它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读