如何在打字稿中将 Observable 中存储的值转换为字符串?

2024-04-05

您好,我是 Angular 和 TypeScript 的新手。我需要一个值Observable在字符串的格式中,如何做到这一点?

BmxComponent 文件

export class BmxComponent {
    asyncString = this.httpService.getDataBmx();
    currentStock = this.httpService.getDataBmx2(); //this is what I want to covert to a string so I can pass it to onSubmit()

    onSubmit() {
        const asnNumm = this.currentStock; // passing it here changes my database, see below
        this.httpService.sendData({ stock: asnNumm })
            .subscribe(
            data => console.log(data),
            error => console.log(error)
            );
    }
}

HttpService 文件

export class HttpService {

    constructor(private http: Http) {}

    getDataBmx() {
        return this.http.get('https://the-bicycle-shop.firebaseio.com/products/Bicycles/bmx/stock.json')
            .map((response: Response) => response.json());
    }

    getDataBmx2() {
        return (this.http.get('https://the-bicycle-shop.firebaseio.com/products/Bicycles/bmx/stock.json'));
    }   

    sendData(newStock: any) {
        const body = JSON.stringify(newStock);
        const headers = new Headers();
        headers.append('Content-Type', 'application/json');
        return this.http.patch('https://the-bicycle-shop.firebaseio.com/products/Bicycles/bmx.json', body, {
            headers: headers
        })
            .map((data: Response) => data.json())
            .catch(this.handleError);
    }

    private handleError(error: any) {
        console.log(error);
        return Observable.throw(error.json());
    }
}

html 文件

<p>{{asyncString | async}}</p> // displays 1234 which is the correct value
<p>{{asyncString}}</p> // displays [object Object]
<p>{{currentStock}}</p> // displays [object Object]
<button class="btn btn-success" (click)="onSubmit()">Change Database</button>

onSubmit() 之前的我的数据库(当我单击“更改数据库”按钮时使用)

Bicycles
|
---bmx
    |
    ---stock = 1234;

onSubmit() 之后我的数据库

Bicycles
|
--- bmx
     |
     ---stock
         |
         --- _isScalar = false

我为此使用 Firebase。

我知道它可以与字符串一起使用,因为我用这样的方式测试了它:

    onSubmit() {
        const asnNumm = "33333" //the change to test it
        this.httpService.sendData({ stock: asnNumm })
            .subscribe(
            data => console.log(data),
            error => console.log(error)
            );
    }

这对我的数据库做了什么

Bicycles
|
---bmx
    |
    ---stock = 33333

我明白那个currentStock将保留当前存储在我的数据库中的相同值,因此它没有什么区别,但我想在将其转换为字符串后更改它。

基本上,我想更改数据库中的“库存”,但每次按“更改数据库”按钮时更改固定数量,例如,每次按下时减 1。


订阅 observable 来获取结果并调用onSubmit当您收到该值时:

currentStock = this.httpService.getDataBmx2()
.subscribe(val => this.onSubmit(val));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在打字稿中将 Observable 中存储的值转换为字符串? 的相关文章

随机推荐

  • 以下 C# 代码出现不一致的可访问性错误。为什么?

    下面的c 代码有什么问题吗 编译器报告此错误 可访问性不一致 参数类型 ClassLibrary1 Interface1 比方法 ClassLibrary1 Class1 Class1 ClassLibrary1 Interface1 的可
  • 如何以编程方式将作业添加到 hudson 的视图中

    我有一个 Java 程序 用于控制一组 hudson 服务器自动生成的作业 使用 hudson 远程 API 创建 删除或更新作业 配置 是没有问题的 我还设法创建哈德逊视图并为哈德逊视图创建一个新作业 但我仍然需要知道如何将现有作业添加到
  • 子集不是基于精确匹配,而是基于 R 中的部分匹配

    这是这里的后续问题 根据前缀和后缀对字符串进行子集化 https stackoverflow com questions 21407361 subsetting a string based on pre and suffix 当你有这个命
  • TinyMCE 4 禁用清理 html

    如何在 TinyMCE 4 x 中禁用 HTML 代码的自动清理 当我从 WORD 复制文本时 TinyMCE 会删除样式 tinyMCE init cleanup false verify html false
  • UIView drawHierarchy 创建黑色图像

    我正在尝试转换我的习惯UIView into UIImage使用核心图形 但有时它会变成黑色 我的整个UIImage看起来像黑色图像 我注意到如果我的身高UIView无论生成的宽度是多少 都超过 4096UIImage会变黑 注1 我的习惯
  • VB6 内存限制

    我目前正在支持一个在多台服务器上运行的 VB6 应用程序 我们正在替换该应用程序 但这是一个缓慢的过程 谁能告诉我VB6进程可以寻址的最大内存量是多少 我们正在使用多种操作系统 Windows Server 2003 32位 Windows
  • 将文件内容存储在数据库中

    我正在制作一个模型 其中我有一个FileField 我想将文件内容存储在数据库列中 而不是文件路径中 有什么建议么 无视那些反对者 如果您想完全控制内容 请将文件放入数据库的 blob 字段中 我通常还将文件名保留在单独的字段中 以便我可以
  • 如何为任何 liquibase 格式的 sql 指定 validchecksum?

    我遇到了 liquibase 的问题 因此 我在其中一个变更集中的 sql 命令中犯了一个错误 现在 每当我尝试升级部署时 升级都会由于校验和错误而失败 所以我想做 validCheckSum ANY 解决方法 但遇到了这个不起作用的问题
  • 为浮点类型重载运算符%

    我试图重载运算符 因为你不能在双精度类型上使用模数 float a 5 0 float b 5 0 a a b not allowed 我试图用这种函数重载运算符 template lt gt MyClass MyClass
  • 为什么 Ruby 的 1000 个哈希键和值对的数组总是按特定顺序排列?

    假设有一个包含 1000 个哈希值的数组 其中的对如下 id gt 1 name gt something created at gt 2010 08 18 当我使用循环打印出这 1000 条记录时 按理说 散列的键 值对顺序无法保证 但打
  • 如何从 django 图像字段到 PIL 图像并返回?

    给定 django 图像字段 如何创建 PIL 图像 反之亦然 简单的问题 但很难谷歌 我将使用 django imagekit 的处理器来旋转已存储为模型属性的图像 edit In 41 m image 1 class Out 41 dj
  • Keras RGB 转灰度

    我想要一个关于在 Keras 中将输入 RGB 图像转换为灰度的最佳方法的规范答案 这个答案 https stackoverflow com questions 43033739 how to convert images color sp
  • 此代码中出现 HFValidationError 的原因是什么?如何解决此错误?

    我在 Chaquopy android studio 项目中的 python 代码 import torch as tc from transformers import GPT2Tokenizer GPT2Model def genera
  • Vue 和 Jest 单元测试组件

    我是新来的Vue js 我从单元测试开始Jest 我不知道从哪里开始以及如何开始 我有这段 Vue 代码 我想使用 Jest 进行测试 任何提示或想法我都会非常感激 我读到我应该使用浅安装 from Vue 测试实用程序避免组件测试过程中出
  • CSS 旋转并定位到页面左下角

    我试图将 div 放置在窗口的左下角 以便它始终卡在那里 但它应该包含从下向上阅读的文本 如图所示 pic 1 https i stack imgur com k4PGN jpg 我尝试过这种样式 ms transform rotate 2
  • 解释awk命令

    今天我在网上搜索一个命令来打印模式后的下两行 我遇到了一个我无法理解的 awk 命令 usr xpg4 bin awk PATTERN 2 input 有人可以解释一下吗 See https stackoverflow com a 1791
  • 如何在 echo 调用中运行函数

    这是一个快速但简单的问题 我今天过得很糟糕 不知道该怎么做 我需要做的是这个 我正在检查 url 中的 PMD 如果是这样 请回显
  • 使用curl上传本地目录中的所有文件

    我想上传一个目录中的所有文件 并且我知道如何使用curl上传一个文件 如下所示 curl T local xxx suffix u xxx psw ftp 192 168 1 158 public demon test xxx suffix
  • 有没有一种方法可以编辑符号链接而不先删除它? [复制]

    这个问题在这里已经有答案了 所以我创建了一个符号链接 https en wikipedia org wiki Symbolic link ln s location to link linkname 现在我想更改符号链接链接到的位置 我怎么
  • 如何在打字稿中将 Observable 中存储的值转换为字符串?

    您好 我是 Angular 和 TypeScript 的新手 我需要一个值Observable在字符串的格式中 如何做到这一点 BmxComponent 文件 export class BmxComponent asyncString th