微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 REST API 过滤数据 Err:“类型 'Observable<any>' 上不存在属性 'filter'”

如何解决使用 REST API 过滤数据 Err:“类型 'Observable<any>' 上不存在属性 'filter'”

我正在尝试在我的 Ionic 应用程序中创建一个过滤器按钮,但出现两个错误

一个是: this.filteredData.filter 不是函数

第二个是: 错误 TS2339:类型上不存在属性“过滤器”

我把我的代码在这里,以展示我到目前为止所尝试的

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 数据库 这是 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,"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",{
      "project_id": "TEST-3","project_name": "Test 3","client_name": "I'm the test #3","client_email": "test3@test.com",iusto nostrum nihil ipsum officiis ut aspernatur distinctio neque voluptas libero molestias?" 
    }
  ]
}

如果有人能帮我指明正确的方向,请

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?