angular - 如何使用 Angular 8 中的更改事件更改数据

标签 angular typescript

如何在使用(更改)事件时更改数据。我正在尝试通过匹配值更改图库项目,默认情况下我想显示所有图库项目

public items = [{
    value: 'All',
    name: 'All Items'
  },
  {
    value: 'Photos',
    name: 'Photo Items'
  },
  {
    value: 'Video',
    name: 'Video Items'
  },
];
<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>

如果单击照片更改为显示照片数据,则显示所有项目。

最佳答案

Demo这是带有管道的 html

<div *ngFor="let item of items | customPipe : filter" class="card">
    <div class="data">{{item.name}}</div>
</div>

在组件中创建过滤器值作为初始“全部”

filter='All'

在列表中给出每个li的点击方法

<ul>
   <li class="value"(click)="onChange(item.value)" [value]="item.value"><a href="">{{item.value}}</a></li>
</ul>

在组件中

onChange(value){
  this.filter=value;
}

这是管道示例

import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
  name: 'customPipe'
})

export class CustomPipe implements PipeTransform {
  transform(row: any[],filter:string): any {
      return row.filter(x=>filter=='All' || x.value==filter);       
  }
}

关于angular - 如何使用 Angular 8 中的更改事件更改数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62496469/

相关文章:

node.js - 运行命令 npm install -g @angular\cli 后,我收到一个 npm ERR!编码 ENOLOCAL

javascript - 为什么 rxjs 共享运算符在这个 setTimeout() 示例中没有按预期工作?

typescript - 如何在 Typescript 中输入深度对象解构?

javascript - typescript ,语法错误 : Unexpected token {

angular - 类型 'boolean' 的参数不可分配给类型 '(value: string, index: number) => ObservableInput' 的参数

javascript - 使用 Typescript 时在外部库中使用公共(public)变量和接口(interface)

javascript - 在 Angular 中将对象插入数组

angular - 在模板驱动的表单 Angular2 中提交表单后重置表单

javascript - Angular 4 Web 动画在 Safari 中重置

angular - 单击以删除/停用 Angular 2 中的辅助路线