json - 使用 REST API 过滤数据错误:“可观察类型上不存在属性‘过滤器’’。”
问题描述
我正在尝试在我的 Ionic 应用程序中创建一个过滤器按钮,但出现两个错误
第一个是: this.filteredData.filter不是函数
第二个是: error TS2339: Property 'filter' does not exist on type
我把我的代码留在这里,以展示我到目前为止所做的尝试
HTML
<ion-header>
<ion-toolbar>
<ion-title color="primary"> Proyectos </ion-title>
<ion-buttons slot="end">
<ion-button (click)="dataFilter()" color="primary">
<ion-icon slot="icon-only" name="funnel-sharp"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="ion-padding">
<ion-card mode="ios" *ngFor="let project of projects | async">
<ion-card-header>
<ion-card-title color="primary"> {{ project.project_name }} </ion-card-title>
<ion-card-subtitle> {{ project.project_id }} </ion-card-subtitle>
<ion-card-subtitle> Fecha de inicio: {{ project.start_date }} </ion-card-subtitle>
<ion-card-subtitle> Fecha estimada de entrega: {{ project.end_date }} </ion-card-subtitle>
</ion-card-header>
<ion-card-content>
<ion-card-subtitle> Descripción </ion-card-subtitle>
{{ project.project_description }}
</ion-card-content>
<ion-button (click)="btnDelete()" expand="block" color="danger" fill="clear">
Borrar
<ion-icon slot="start" name="trash-outline"></ion-icon>
</ion-button>
</ion-card>
</ion-content>
TS
import { Component, OnInit } from '@angular/core';
import { NavController } from '@ionic/angular';
import { Observable } from 'rxjs';
import { filter } from 'rxjs/operators';
import { RestServicesService } from 'src/app/services/rest-services.service';
@Component({
selector: 'app-proyectos',
templateUrl: './proyectos.page.html',
styleUrls: ['./proyectos.page.scss'],
})
export class ProyectosPage implements OnInit {
isActive: boolean = false;
projects: Observable <any>;
filteredData: Observable <any>;
constructor( private restService: RestServicesService, private navCtrl: NavController ) {
this.filteredData = this.restService.getProjects();
}
ngOnInit() {
this.projects = this.restService.getProjects();
}
btnDelete() {
console.log("Delete!!!");
}
dataFilter() {
this.filteredData = this.filteredData.filter((project) => {
return true;
});
console.log("filtroooo");
}
}
服务 我正在使用在 json-server 中制作的本地 REST API
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class RestServicesService {
constructor( private http: HttpClient) { }
getProjects() {
return this.http.get('http://localhost:3000/projects');
}
}
Json db 这是 de json-server 的 JSON 文件
{
"projects" : [
{
"project_id": "TEST-1",
"project_name": "Test 1",
"client_name": "I'm the test #1",
"client_email": "test@test.com",
"start_date": "11 Jun, 2021",
"end_date": "30 Nov, 2021",
"project_description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi, culpa. Accusamus ad vitae quae pariatur sunt iste quo, iusto nostrum nihil ipsum officiis ut aspernatur distinctio neque voluptas libero molestias?"
},
{
"project_id": "TEST-2",
"project_name": "Test 2",
"client_name": "I'm the test #2",
"client_email": "test2@test.com",
"start_date": "11 Jun, 2021",
"end_date": "30 Nov, 2021",
"project_description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi, culpa. Accusamus ad vitae quae pariatur sunt iste quo, iusto nostrum nihil ipsum officiis ut aspernatur distinctio neque voluptas libero molestias?"
},
{
"project_id": "TEST-3",
"project_name": "Test 3",
"client_name": "I'm the test #3",
"client_email": "test3@test.com",
"start_date": "11 Jun, 2021",
"end_date": "30 Nov, 2021",
"project_description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi, culpa. Accusamus ad vitae quae pariatur sunt iste quo, iusto nostrum nihil ipsum officiis ut aspernatur distinctio neque voluptas libero molestias?"
}
]
}
如果有人可以帮助我指出正确的方向,请
解决方案
推荐阅读
- javascript - 如何将上下文从视图传递到 JS 文件 Django
- javafx - 如何在 Javafx 应用程序中加载自定义字体
- javascript - 测试时弹出消息框
- regex - 如何使用正则表达式从 Bash 中的字符串中提取变量?
- vue.js - Vue.js 单元测试更新 vuex 存储错误
- python - 从 S3 下载,存放在 Lambda 的 /tmp/ 并解压到 /tmp/ 目录
- docker - docker-compose 环境中的 IdentityServer4 令牌颁发者
- r - 网络抓取时是否有用于在网站上查找特定单词的 R 函数?
- scala - 将元素插入集合是否有特定的顺序?
- gatsby - 将 Gatsby 代码转换为传统的 HTML/CSS/JS 文件?