仅当数组有两个或多个带有 angularjs ng-show 的项目时,如何显示元素?
Posted
技术标签:
【中文标题】仅当数组有两个或多个带有 angularjs ng-show 的项目时,如何显示元素?【英文标题】:How to show element only if an array have two ore more items with angularjs ng-show? 【发布时间】:2014-10-20 10:04:49 【问题描述】:我有一组可能为空的项目,有一个或两个以上的项目。 现在,如果我想显示元素,我使用简单的 ng-show 事件。
<div ng-show="scopeName">
...
</div>
所以,如果 pageSlides 有项目,则 div 将被打印,否则它不会。
现在我想编辑这个显示当项目有 2 个或更多项目时打印的 div。
我正在尝试这个,但它不起作用:
<div ng-show="pageSlides.length > 1"> (or any number)
...
</div>
我很想在这方面提供一些帮助。
谢谢!
已更新,这是我的代码:
myApp
.controller(
'controllerName',
[
'$rootScope',
'$scope',
'$routeParams',
'Api',
function($rootScope, $scope, $routeParams, Api)
var pageSlug = $routeParams['pageSlug'];
$scope.init = function()
$scope.singlePage = [];
$scope.pageSlides = [];
Api.get(
'site/' + $rootScope.config.api.propertyId + '/page/' + pageSlug
).then(
function(data)
$scope.singlePage = data.page;
$scope.pageSlides = $scope.singlePage['media'];
);
$scope.init();
])
【问题讨论】:
【参考方案1】:试试这个代码,它应该可以工作:
<div ng-controller="MyCtrl">
<div ng-show="array.length > 2">I'm visible</div>
<div ng-show="array.length > 3">I'm not visible</div>
</div>
function MyCtrl($scope)
$scope.array = [
id: 1,
id: 2,
id: 3
];
这是JSFiddle 的工作示例。
我想指出,您的问题代码有一个错误:scopeName.lenght > 1
我认为这样会更好:scopeName.length > 1 :)
【讨论】:
这里拼写错误,对此深表歉意。但它仍然无法正常工作。 @VassilisPits,你看过我的 JSFiddle 例子吗?这应该有效。能否为我们提供您的代码? 谢谢,我觉得自己很愚蠢,这确实是拼写错误,后来又出现了缓存问题。谢谢!【参考方案2】:请查看demo
<div ng-app="app">
<div ng-controller="myController">
<div ng-show="items.length">I am showing, items array is not empty</div><br />
<div ng-show="items.length > 1">I am showing, items array has more than one record</div><br />
</div>
</div>
var app = angular.module('app', []);
app.controller('myController', function ($scope)
$scope.items = ["Apple", "Orange"];
);
【讨论】:
这对我不起作用。我的数组来自服务,这是一个问题吗? 能否请您更新您帖子中的代码..以便我们更好地理解。 请确保pageSlides响应是一个数组?并在您的视图中检查控制器名称。我在您的代码中没有看到任何错误。 谢谢 Asik,这是我的拼写错误(在电脑上连续 18 小时需要休息:P)。我选择 Artyoms 回答只是因为他先回答。但也谢谢你!以上是关于仅当数组有两个或多个带有 angularjs ng-show 的项目时,如何显示元素?的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS ng-grid 过滤器——filterText 格式
Angularjs - ng-map - Google Maps Javascript API v3 - 如何为多个标记设置最佳缩放
如何使用AngularJS从ng-repeat中的数组中删除对象?
AngularJs中的模块定义,一个页面加载多个ng-app