我从服务器上得到一个JSON对象。我有多个变量。
我要检查1个变量,如果我将此变量设为null,则我不会显示“ a>
<div *ngIf="{{param.exist}} !== null #myData" ></div>
<ng-template #myData>
<a href="{{param.link}}">
<clr-icon shape="info-standard"></clr-icon>Reporting
</a>
</ng-template>
问题是这无法运行。
编辑:
我已显示标签a href ...>,但仅当我从json中获取数据时:
Json示例:
{
"exist":null,
"link": null
},
{
"exist":"units",
"link": "http:\\www.myUnits..."
}
我尝试使用ng-Template一无所获,我也尝试使用:
<ng-template *ngIf="enableValidation(param.exist)">
<a href="{{param.link}}">
<clr-icon shape="info-standard"></clr-icon> Acceder
</a>
</ng-template>
enableValidation(exist: any) {
if (exist === null) {
return true;
}
}
但是从不显示任何内容。谢谢。
答案 0 :(得分:0)
您可以按照以下方式进行操作,因为您看到使用了错误的语法:https://angular.io/api/common/NgIf#showing-an-alternative-template-using-else
<div *ngIf="param && param.exist;else myData;">
//when condition true display
</div>
<ng-template #myData>
<a href="{{param.link}}">
<clr-icon shape="info-standard"></clr-icon> Reporting
</a>
</ng-template>
答案 1 :(得分:0)
尝试这种方法
<div *ngIf="checkNull()" >
<a href="{{param.link}}">
<clr-icon shape="info-standard"></clr-icon> Reporting
</a>
</div>
并在您的 .ts 文件中
list = [{
"exist":null,
"link": null
},
{
"exist":"units",
"link": "http:\\www.myUnits..."
}];
checkNull() {
return this.list.every(obj => !obj.exist);
}
仅当每个对象中的exist
不为null或未定义或不为空时,才会显示锚标记。