TS2339:类型上不存在属性“赋值”

时间:2019-07-30 09:05:46

标签: angular typescript rxjs observable angular8

我有一个文件,其中包含静态数据,如 QRCategories ,并希望以可观察的方式发送数据。

发送数据的服务是

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',
    }
   ]};

1 个答案:

答案 0 :(得分:2)

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

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

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

请确保这将通过引用嵌套对象进行复制,因此应将深度复制改为与Lodash之类的库配合使用:

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