尝试使用*ngIf
从本地存储和显示中获取值(对象数组),但角度抛出Cannot find a differ supporting object
的错误。这是Plnkr抛出错误
http://plnkr.co/edit/qgrOmRlUcAZq1spGALEa?p=preview
<template ngFor #permissionvar [ngForOf]="LocalStorageData">
<li class="dropdown-submenu" *ngIf="permissionvar.root_permission_name == 'School Setting'">
<a (click)="Schoolsettings()">
<i class="fa fa-gears"></i>
<span>School Settings</span>
</a>
<ul class="dropdown-menu">
<li>ABC</li>
</ul>
</li>
</template>
似乎找不到permissionvar.root_permission_name
,我不知道为什么?
事实上,当您单击"从LocalStorage获取"按钮时,您会从存储中获取字符串,而不是数组。因此,在尝试在ngFor:中使用它之前,您需要对其进行解析
getData(){
this.LocalStorageData = JSON.parse(localStorage.getItem("DEMO data"));
}
看到这个plunkr:http://plnkr.co/edit/aumB4mMNVlV9TK5KDjoF?p=preview.
- http://plnkr.co/edit/7ff3o9oDhjAbt8yd3uST?p=preview
getData(){
this.LocalStorageData =JSON.parse(localStorage.getItem("DEMO data")); //stringify data needs to be parsed to json.
}
除此之外,要将json对象显示为HTML,您可以使用演示中所示的{{jsonobject|json}}
jsonPipe。