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

带有TypeScript错误的角HTTP GET HTTP.GET(...).map不是[null]中的函数

陆雅志
2023-03-14
import {Injectable} from "angular2/core";
import {Hall} from "./hall";
import {Http} from "angular2/http";
@Injectable()
export class HallService {
    public http:Http;
    public static PATH:string = 'app/backend/'    

    constructor(http:Http) {
        this.http=http;
    }

    getHalls() {
           return this.http.get(HallService.PATH + 'hall.json').map((res:Response) => res.json());
    }
}
export class HallListComponent implements OnInit {
    public halls:Hall[];
    public _selectedId:number;

    constructor(private _router:Router,
                private _routeParams:RouteParams,
                private _service:HallService) {
        this._selectedId = +_routeParams.get('id');
    }

    ngOnInit() {
        this._service.getHalls().subscribe((halls:Hall[])=>{ 
            this.halls=halls;
        });
    }
}
import {Component} from "angular2/core";
import {RouterOutlet} from "angular2/router";
import {HallService} from "./hall.service";
import {RouteConfig} from "angular2/router";
import {HallListComponent} from "./hall-list.component";
import {HallDetailComponent} from "./hall-detail.component";
@Component({
    template:`
        <h2>my app</h2>
        <router-outlet></router-outlet>
    `,
    directives: [RouterOutlet],
    providers: [HallService]
})

@RouteConfig([
    {path: '/',         name: 'HallCenter', component:HallListComponent, useAsDefault:true},
    {path: '/hall-list', name: 'HallList', component:HallListComponent}
])

export class HallCenterComponent{}
import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES} from "angular2/router";
import {RouteConfig} from "angular2/router";
import {HallCenterComponent} from "./hall/hall-center.component";
@Component({
    selector: 'my-app',
    template: `
        <h1>Examenopdracht Factory</h1>
        <a [routerLink]="['HallCenter']">Hall overview</a>
        <router-outlet></router-outlet>
    `,
    directives: [ROUTER_DIRECTIVES]
})

@RouteConfig([
    {path: '/hall-center/...', name:'HallCenter',component:HallCenterComponent,useAsDefault:true}
])
export class AppComponent { }
{
  "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules"
  ]
}

共有1个答案

虞博涛
2023-03-14

我认为您需要导入以下内容:

import 'rxjs/add/operator/map'

或者更一般地说,如果你想有更多的方法来观察可观察到的东西。警告:这将导入所有50+运算符并将其添加到应用程序中,从而影响包的大小和加载时间。

import 'rxjs/Rx';

有关更多详细信息,请参见本期。

 类似资料:
  • 尝试从组件订阅HTTP-GET的解析响应。得到一个错误的说法。无论是从HTTPService还是从组件类使用,map都不是一个函数。 但以下工作: 解析在Httpdemo服务中也不起作用。 我的代码中的用法有什么问题?

  • 我尝试在两个日期之间获取值。在服务器端,它可以正常工作,但在前端,它会将错误显示为生日。地图不是一个函数 生日服务ts 浏览器控制台错误 core.js:1350错误打字错误:birthdays.map不是一个函数在MapSubscriber.project(birthday.service.ts:28)在MapSubscriber.webpackJsonp.../.../.../.../rxjs

  • 我有以下类型脚本模型: 现在在Angular component中,我得到了一个API调用,它填充了我的对象的本地实例: My console.log结果适当地显示了名称和id,因此API调用可以正常工作。 我的问题是,如果在同一点,我打电话: 然后我得到一个错误 错误类型错误:\ u this.claprovider.slug不是函数 我做错了什么? 编辑 这是我的getMONtClaimPro

  • 下面是我的playbook目录结构。 Ansible版本:2.7.2 python2版本:2.7.5 python3版本:3.7.1

  • 问题内容: 谁能告诉我这段代码出了什么问题?我尝试使用JavaScript提交表单,但显示错误“ .submit不是函数”。请参阅以下代码的更多详细信息: 我也尝试过这个: 两者都显示相同的错误:( 问题答案: 提交不是功能 表示您已将自己的提交按钮或其他元素命名为。将按钮重命名为,您的呼叫将神奇地工作。 将按钮命名为Submit时,将覆盖表单上的功能。

  • 我们在在我们的React Native(0.59.3版)项目中:APK在各种物理设备或模拟器上运行良好,但在Android 9.0版上运行不好,因为它与 这是错误弹出窗口的外观: 我们知道,如果我们应用的变量不是数组,就会出现此消息,但我们确实确保它是数组(无论如何,它在各种其他版本和设备上都能工作)。我们错过了什么? 给好奇的人一些背景 我们有两个数组,一个是我们从API响应中获得的数据集数组,