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

AngularJS angular.equals在ng-show上的工作方式不同

发布时间:2020-12-17 07:08:31 所属栏目:安全 来源:网络整理
导读:我的控制器中有这些线 $scope.VLANEnabledServers = {};$scope.myEmpty = {};console.log(angular.equals($scope.myEmpty,$scope.VLANEnabledServers)); 这个ng-show在模板中 table ng-show="!angular.equals(myEmpty,VLANEnabledServers)" ng-cloak class="
我的控制器中有这些线

$scope.VLANEnabledServers = {};
$scope.myEmpty = {};
console.log(angular.equals($scope.myEmpty,$scope.VLANEnabledServers));

这个ng-show在模板中

<table ng-show="!angular.equals(myEmpty,VLANEnabledServers)" ng-cloak class="table table-striped table-bordered ng-hide">

控制器中的angular.equals函数打印TRUE,这是正确的.但是在视图中,ng-show中的条件应该是!TRUE表格仍会显示

难道我做错了什么 ?

解决方法

ngShow指令将 angular expression作为属性.

角度表达在它可以包含的内容中是有限的,虽然它有时看起来像javascript,但实际上并非如此.有关什么是有效角度表达式的详细信息,请参阅链接页面.

您最有可能想要做的是在作用域上创建一个函数来为您进行比较,然后从表达式中调用该函数:

$scope.isEmptyObject = function (item){
  return angular.equals( {},item );
}

附:

<table ng-show="!isEmptyObject(VLANEnabledServers)">

(编辑:李大同)

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

    推荐文章
      热点阅读