当前位置: 首页 > 知识库问答 >
问题:

angular - Angular16管道pipe问题?

白嘉石
2023-10-15

想用一下管道,这是哪里出了问题?

1.pipe

import { Pipe, PipeTransform } from '@angular/core';import { Category } from '../interface';@Pipe({name: 'category'})export class CategoryPipe implements PipeTransform {    transform(value: number): string {        return Category(value)    }}
  1. interface
export interface Todo {    id: number;    description: string;    category: number;    content: string;}export enum Category {    html,    css,    js}

共有2个答案

凌炜
2023-10-15

可以写成这样试试:

return Category[value]
丰俊艾
2023-10-15

看起来你在使用 Angular 的管道(Pipe)功能,但是你的代码中存在一些问题。

在你的管道代码中,你试图将一个数字通过 Category 转化为一个字符串。然而,你的 Category 是一个枚举(Enum),不是函数,你不能直接调用它。你需要从 Category 枚举中获取对应的字符串。

你的 Category 枚举应该是这样的:

export enum Category {    HTML,    CSS,    JS}

然后你的管道应该这样使用:

import { Pipe, PipeTransform } from '@angular/core';import { Category } from '../interface';@Pipe({name: 'category'})export class CategoryPipe implements PipeTransform {    transform(value: number): string {        return Category[value] || '';  // 默认返回空字符串,防止 Category 枚举之外的数字    }}

在这个修改过的管道中,我们使用 Category[value] 来获取枚举值对应的字符串。如果 valueCategory 枚举之外的数字,那么 Category[value] 将会返回 undefined,然后我们默认返回一个空字符串。

 类似资料:
  • 创建一个管道,Linux系统中有pipe()和pipe2()两个函数。 Linux仅支持半双工管道 pipe 函数原型 #include <unistd.h> int pipe(int pipefd[2]); 参数 pipefd[0] 读端 pipefd[1] 写端 返回值 0 成功 -1 失败,并自动设置 errno —— pipe2 pipe2非POSIX标准,仅被Linux支持 函数原

  • 一个Java NIO的管道是两个线程间单向传输数据的连接。一个管道(Pipe)有一个source channel和一个sink channel(没想到合适的中文名)。我们把数据写到sink channel中,这些数据可以同过source channel再读取出来。 下面是一个管道的示意图: 创建管道(Creating a Pipe) 打开一个管道通过调用Pipe.open()工厂方法,如下: Pi

  • 主要内容:1 创建管道,2 写入管道,3 从管道读取Java NIO Pipe是两个线程之间的单向数据连接。APipe 具有源通道和宿通道。您将数据写入接收器通道。然后可以从源通道读取此数据。 这是Pipe原理的说明: Java NIO:管道内部 1 创建管道 Pipe通过调用该Pipe.open()方法来 打开一个。看起来是这样的: 2 写入管道 要写入a,Pipe您需要访问接收器通道。这是完成的方式: 您可以SinkChannel通过调用a的w

  • 本文向大家介绍Angular 2 内置管道,包括了Angular 2 内置管道的使用技巧和注意事项,需要的朋友参考一下 示例 Angular2带有一些内置管道: 管 用法 例 DatePipe date {{ dateObj | date }} // output is 'Jun 15, 2015' UpperCasePipe uppercase {{ value | uppercase }} /

  • 本文向大家介绍Angular 2 有状态管道,包括了Angular 2 有状态管道的使用技巧和注意事项,需要的朋友参考一下 示例 Angular 2提供了两种不同类型的管道-无状态管道和有状态管道。默认情况下,管道是无状态的。但是,我们可以通过将pure属性设置为来实现有状态管道false。如您在参数部分所看到的,您可以指定aname并声明管道是否应为纯管道,这意味着有状态或无状态。尽管数据流经一

  • 本文向大家介绍Python multiprocessing模块中的Pipe管道使用实例,包括了Python multiprocessing模块中的Pipe管道使用实例的使用技巧和注意事项,需要的朋友参考一下 multiprocessing.Pipe([duplex]) 返回2个连接对象(conn1, conn2),代表管道的两端,默认是双向通信.如果duplex=False,conn1只能用来接收