html - 如何在 Angular 8 中通过匹配值来更改数据
问题描述
我正在尝试通过匹配值更改图库项目,默认情况下,如果单击我想显示照片的照片,我想显示所有项目。我尝试使用 switch 语句,它工作正常,但我想知道任何其他最短的方法。
public items = [{
value: 'All',
name: 'All Items'
},
{
value: 'Photos',
name: 'Photo Items'
},
{
value: 'Video',
name: 'Video Items'
},
];
}
.gallery {
margin-top: 30px;
}
.card {
background: whitesmoke;
margin-top: 30px;
}
.data {
display: inline-block;
font-size: 22px;
margin-top: 10px;
margin-left: 30px;
}
<div *ngFor="let item of items" class="nav-li">
<ul>
<li class="value" [value]="item.value"><a href="">{{item.value}}</a></li>
</ul>
</div>
<div class="gallery">
<div *ngFor="let item of items" class="card">
<div class="data">{{item.name}}</div>
</div>
</div>
解决方案
<!--Declare 'displayOption' in your ts file-->
<div *ngFor="let item of items" class="nav-li">
<ul>
<li class="value" [value]="item.value">
<a href="" (click)="displayOption = item.value">
{{item.value}}</a>
</li>
</ul>
</div>
<div class="gallery">
<div *ngFor="let item of items" class="card">
<div class="data" *ngIf="displayOption === item.value || displayOption === 'All'>
{{item.name}}
</div>
</div>
推荐阅读
- regex - 花式正则表达式不返回输入中的所有匹配项
- c# - Xamarin.Form 上的 Firebase 电话身份验证
- python - 为参数添加动态值
- javascript - 在 React 中将单击事件从一个类组件传递到另一个类组件
- python - 列表理解更改列表元素
- flutter - 获取要在子级中使用的父级大小
- localization - 如何在 ICU MessageFormat 中表示俄语或其他复杂复数语言的复数规则
- javascript - TypeError:无法读取未定义的属性“名称”。我找不到出现此错误的原因。我正在使用 mysql、nodejs 和 ejs 作为视图引擎
- c++ - 我可以将向量作为 initial_sum 和不同的函数传递给 std::accumulate 吗?
- android - 如何使用recaptcha v3?