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)"> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |