在另一个数组(内容)中有一个数组contentMetaDataList,其中包含很少的字段,如标题,名称等。因此,当没有标题显示时,如何隐藏标题(智能标签:写在p标签中)。
智能标签:
{{relatedcontent.title}}答案 0 :(得分:1)
您可以使用ng-show
来按条件显示/隐藏,
并检查数组中的所有对象是否都包含标题字段,可以使用Array.every()
。
如果注释或删除数组中的标题之一,则显示标题的包装器<div>
将不可见,而是保留在DOM树中。 (可以通过ng-if
从DOM树中删除)
var app = angular.module('myApp', []);
app.controller('MainCtrl', ['$scope','$http', function($scope, $http){
$scope.a = 'sdf';
$scope.contentMetaDataList = [
{
title:"legislation_title",
fieldValue:"refund of tax to certain persons",
id:94346
},
{
title:"Enterprise_title",
fieldValue:"refund of tax to certain persons",
id:94346
},
{
title:"Related_title",
fieldValue:"refund of tax to certain persons",
id:94346
}];
$scope.checkTitle = function() {
return $scope.contentMetaDataList.every(item => item.title);
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="MainCtrl">
<div>
<div ng-show="checkTitle()">
<p>Smart Tags : </p>
<div ng-repeat="relatedcontent in contentMetaDataList">
<div>
{{relatedcontent.title}}
</div>
</div>
</div>
</div>
</div>
</div>
有关更多信息:
答案 1 :(得分:0)
我会说添加一个<span>
或一些带有ngIf的标签。 *ngIf="relatedcontent.title !== undefined"