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

缺少Angular2 http。地图功能[重复]

淳于亦
2023-03-14

我在教程中发现了以下示例代码:

getRandomQuote() {
  this.http.get('http://localhost:3001/api/random-quote')
    .map(res => res.text())
    .subscribe(
      data => this.randomQuote = data,
      err => this.logError(err),
      () => console.log('Random Quote Complete')
    );
}

但是当尝试使用它时,我只得到TypeError:this。http。得到(…)。map不是[null]中的函数。

getChannels():Promise<Channel> {
    return this.http.get('...')
        .map(function (response:Response) {
            ...
        }).toPromise();
}

我的Typescript编译器告诉我这些方法是可用的,但是当检查http的返回值时。get()它们丢失了。

我用了这个包裹。当前angualar2起始指南的json:

"dependencies": {
  "angular2": "2.0.0-beta.0",
  "systemjs": "0.19.6",
  "es6-promise": "^3.0.2",
  "es6-shim": "^0.33.3",
  "reflect-metadata": "0.1.2",
  "rxjs": "5.0.0-beta.0",
  "zone.js": "0.5.10"
},

...

<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/http.dev.js"></script>

知道我在这一点上可能会出错吗?

共有2个答案

邹嘉荣
2023-03-14

您会希望您的index.html看起来像这样,这样system.js可以找到您在组件中导入的所有rxjs依赖项。

        <script src="/lib/anguar2/angular2-polyfills.js"></script>
        <script src="/lib/es6-shim/es6-shim.js"></script>
        <script src="/lib/systemjs/system.src.js"></script>

        <script>
            System.config({
                defaultJSExtensions: true,
                packages: {
                    app: {
                        format: 'register'
                    }
                },
                map: {
                    'rxjs':"lib/rxjs"

                }
            });
        </script>
        <script src="/lib/anguar2/angular2.dev.js"></script>
        <script src="/lib/anguar2/router.dev.js"></script>
        <script src="/lib/anguar2/http.js"></script>
        <script>
            System.import('app/boot');
        </script>
莫飞翮
2023-03-14

Observable默认情况下只附带几个操作符。您必须显式导入它们:

import 'rxjs/add/operator/map';

或者,如果你不想考虑它,只需加载所有内容(例如在你的引导文件中):

import 'rxjs/Rx';
 类似资料:
  • 我已经安装Kibana版本6.5。我选择了30天免费试用,并启用了x-pack安全选项。 通过KibanaUI我创建了一个用户并分配了报告所需的两个角色-kibana_user和reporting_user。现在我通过这个新用户登录,但在仪表板上找不到报告选项。 即使我使用具有超级用户角色的elastic用户登录,行为也是一样的。我错过什么了吗? 我在Kibana startup上看到一条日志,上

  • 我正在尝试为我的容器配置网络选项,但在尝试以下命令时: 我得到以下结果: root@Server02:/var/lib#lxc网络创建测试br0 用法:lxc[选项] 检查可用命令列表,我不认为网络是一个选项 以下是我看到的可用命令: 配置,复制,删除,执行,文件,手指,图像,信息,初始化,启动,列表,监控,移动,暂停,配置文件,发布,远程,重启,恢复,快照,启动,停止,版本 我正在使用Ubunt

  • 大多数Web应用程序在使用户可以访问该功能之前验证功能级别访问权限。但是,如果未在服务器上执行相同的访问控制检查,则黑客无法在未经适当授权的情况下进入应用程序。 我们将通过以下每项来了解这个漏洞的威胁代理,攻击向量,安全弱点,技术影响和业务影响。 威胁代理 - 具有网络访问权限的任何人都可以向应用程序发送请求。 攻击者的方法 - 谁是授权系统用户,只需将URL或参数更改为特权函数即可。 安全弱点

  • 图形渲染 渲染系统,包括材质,光照,粒子等 UI系统 UI系统,包括与UI 相关的全部内容 动画系统 基于动画帧数据及骨骼顶点数据的通用动画及骨骼动画体系 音频 控制声音片段的播放暂停等 物理模拟 物理仿真模拟,主要包括刚体和碰撞等 脚本指南及事件系统 用于实现用户定义行为的脚本使用指南,包括事件的触发机制等 组件 用于为游戏对象添加不同功能的组件说明 资源 引擎使用到的各种不同资源介绍及整体资源

  • 问题内容: Underscore.js具有非常有用的功能。 我正在寻找可以迭代嵌套对象或深层映射的类似功能。经过大量搜索后,我无法真正找到它。我所能找到的是 采摘 深层对象的东西,但没有遍历深层对象的每个值。 像这样: 一个人怎么做? 样本输出 问题答案: 这是使用转换的Lodash解决方案

  • 问题内容: 我需要一个地图功能。Java中已经有类似的东西了吗? (对于那些想知道的人:我当然知道我自己如何实现这个琐碎的功能…) 问题答案: 从Java 6开始,JDK中没有函数的概念。 番石榴具有功能接口,但是该 方法提供了您所需的功能。 例: 输出: 如今,在Java 8中,实际上已经有一个map函数,因此我可能会以一种更简洁的方式编写代码: