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

角形虚拟模型的创建

李胡媚
2023-03-14

我试图在Angular中创建一个虚拟模型,以从后端获取值。但由于数组的原因,它会抛出一些错误。

export class abc {

    date: Date;
    time: string;
    ABC_Info: [{
            item: string,
            quantity: number,
            a: number
        },
        {
            item: string,
            quantity: number,
            a: number
        }
    ]

    constructor(date: Date, time: string, item: string, quantity: number, a: number) {
        this.meal_time = meal_time;
        this.date = date;
        this.time = time;

        this.ABC_Info[0].item = item;
        this.ABC_Info[0].quantity = quantity;
        this.ABC_Info[0].carbs = a;

        this.ABC_Info[1].item = item;
        this.ABC_Info[1].quantity = quantity;
        this.ABC_Info[1].carbs = a;

    }
}
import { abc} from './models/abc';

getABCs(start ? : moment.Moment, end ? : moment.Moment): Observable < abc[] > {
    let params = new HttpParams();

    if (start) {
        params = params.append('start', start.toISOString());
    }

    if (end) {
        params = params.append('end', end.toISOString());
    }
    return this.baseService.getParams('/api/abc/getAll', params)
        .pipe(
            map(res => res as Object[] || []),
            map(bolus => bolus.map(k => new abc(
                    new Date(k['date']),
                    k['time'],
                    k['item'],
                    k['quantity'],
                    k['a']))

            )
        )
}

浏览器控制台错误

ERROR TypeError:无法读取MapSubscriber.Project(CARB.Service.ts:33)上Array.Map( )上的新Bolus(abc.ts:39)上未定义的属性“|0”。/node_modules/rxjs/_esm5/internal/operators/map.js.mapsubscriber._next(map.js:35)位于mapsubscriber.push。/node_modules/rxjs/_esm5/internal/subscriber.js.subscriber.next(subscriber.js:54),位于mapsubscriber.push。/node_modules/rxjs/_esm5/internal/operators/map.js.mapsubscriber._next(map.js:41)位于mapsubscriber.push。/node_modules/rxjs/_esm5/internal/subscriber.js.subscriber.next(subscriber.js:54),位于mergemapsubscriber.push。/node_modules/rxjs/_esm5/internal/operators/mergemap.js.mergemapsubscriber.notifyNext(mergemap.js:84)位于innersubscriber.push。/node_modules/rxjs/_esm5/internal/innersubscriber.js.innersubscriber._next(innersubscriber.js:15)

共有1个答案

高山
2023-03-14

这是如何定义模型的:

export interface Abc {
  date: Date;
  time: string;
  ABC_Info: {item: string, quantity: number, a: number}[]
}

然后在http服务中:

getAbc(): Observable<Abc> {
  return this.http.get('some api').pipe(map(res => res.json)); // Remove pipe if angular version is below 6
}
 类似资料:
  • 创建一台 Linux 系统的虚拟机,Linux 系统的类型选择的是 CentOS 7.x 。 创建项目 每个项目都在各自的文件夹里,你可以为每个项目单独去创建虚拟机。打开命令行工具,先为项目创建一个文件夹: cd ~/desktop mkdir awesome-project cd awesome-project 上面执行的命令就是在命令行下面,先进入到当前登录用户的桌面(desktop)上,在

  • 我最近发现作曲家支持虚拟包的概念。据我所知,虚拟包允许包开发人员向他们的项目列表中的需要d模块添加一个抽象/接口包。如果有人想在您自己的项目中使用具有虚拟包依赖关系的模块,您还需要第二个包,该包在其部分中列出了虚拟包。 也就是说,如果一个包有一个虚拟包php-超文本传输协议/客户端实现作为要求,您还需要在一个包中要求php-超文本传输协议/guzzle6-适配器,它提供了这个包。 我的问题是:如果

  • 本文向大家介绍创建Lua虚拟机,包括了创建Lua虚拟机的使用技巧和注意事项,需要的朋友参考一下 示例 5.1 5.1            

  • 打开命令行,执行: cd ~/desktop mkdir wenjiangs-lemp cd wenjiangs-lemp mkdir app vagrant init centos/7 用编辑器打开 wenjiangs-lemp 目录,编辑 Vagrant 配置文件:Vagrantfile macOS: Vagrant.configure("2") do |config| config.v

  • Nginx 是一个快速的、轻量级的 Web 服务器软件, 在许多情况下它已取代了 Apache,尤其是运行 Web 应用程序的情况。 然而,其配置语言与 Apache 相比并没有做什么重大改进,仍然不够简单清晰。 此外,大多数的配置文档只有俄语版,这也就解释了为什么你看到这么多份关于 "Understanding Russian for Nginx Administrators" 的拷贝。 准备工

  • 使用 ERB 模板配置虚拟主机是一种常见的应用, 因为每个虚拟主机配置的实例通常都使用类似的样板代码,只有一两个变量的值不同而已。 显然,对于某些网站或应用程序来说,你需要在虚拟主机的定义中指定特殊的配置选项, 然而这些特殊选项又不能通过一个简单的模板来配置 — 但是,不管怎样, 使用一个模板配置一些简单的站点将会节省时间、避免重复劳动。 操作步骤 添加如下代码到 /etc/puppet/modu