【问题标题】:TS2339: Property 'assign' does not exist on typeTS2339:类型上不存在属性“分配”
【发布时间】:2019-12-07 15:09:46
【问题描述】:

我有一个文件,其中包含 QRCategories 形式的静态数据,并希望将数据作为 observable 发送。

发送数据的服务是

public qrCodeCategoriesList(): Observable<QRCategoryListResponse> {
    return of (QRCategories);
  }

在组件中用作:

ngOnInit() {
   this.qrCategoryService.qrCodeCategoriesList().subscribe(
     res => {
       this.qrCategories = res;
     }, error => {
       console.log(error);
     }
   );
  }

工作正常,但在不同组件的下一行中出现错误类型上不存在属性“分配”

  const formData: RegisterData = this.registerForm.value;
  const password2 =   {password2: formData.password1};
  const data = Object.assign({}, formData, password2);

qr-category.ts

import {QRCategoryListResponse} from '../models/qr/qr-category.model';

export const QRCategories: QRCategoryListResponse = {
  count: 10,
  next: null,
  previous: null,
  results: [
    {
      id: 1,
      name: 'Website URL',
    },
    {
      id: 2,
      name: 'Google Maps',
    },
    {
      id: 3,
      name: 'PDF',
    },
    {
      id: 4,
      name: 'Image',
    }
   ]};

【问题讨论】:

标签: angular typescript rxjs observable angular8


【解决方案1】:

在这里,尝试使用以下内容:

const data=(<any>Object).assign(formData, password2)

data={...formData,...password2};

确保这将通过引用嵌套对象进行复制,因此请使用深度复制而不是像 Lodash 这样的库,或者:

JSON.parse(JSON.stringify(someData));

【讨论】:

    猜你喜欢
    • 2016-03-14
    • 2017-02-25
    • 2021-11-24
    • 2019-01-11
    • 2021-05-08
    • 2021-10-15
    • 2020-12-13
    • 2021-08-04
    • 2020-07-01
    相关资源
    最近更新 更多