TS 基本类型分类any 类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TS 基本类型分类any 类型相关的知识,希望对你有一定的参考价值。

参考技术A boolean(布尔类型)
number(数字类型)
string(字符串类型)
array(数组类型)
tuple(元组类型)
enum(枚举类型)
any(任意类型)
null 和 undefined 类型
void 类型
never 类型
object 对象类型

错误 TS2339:“ElementRef<any>”类型上不存在属性“值”

【中文标题】错误 TS2339:“ElementRef<any>”类型上不存在属性“值”【英文标题】:error TS2339: Property 'value' does not exist on type 'ElementRef<any>' 【发布时间】:2021-06-21 08:15:08 【问题描述】:

我有这个问题:

错误 TS2339:“ElementRef”类型上不存在属性“值”。

我有一个包含此代码的 .html 文件:

<ion-content>
  <ion-input placeholder="Enter Name" type="text" #name name="name" ></ion-input>
  <ion-input placeholder="Enter Surname" type="text" #surname name="surname" ></ion-input>
  <ion-input placeholder="Enter Type" type="text" #type name="type" ></ion-input>
  <ion-button (click)="addNewUser()">Add New User</ion-button>

还有一个包含此代码的文件 .ts:

export class FirstPage implements OnInit 

  springUsers: SpringUser[];
  @ViewChild('name') name: ElementRef;
  @ViewChild('surname') surname: ElementRef;
  @ViewChild('type') type: ElementRef;
  
  ///[...]
  
  
  addNewUser()
    console.log('addNewUser');
    let tempUser: SpringUser;
    tempUser = 
      name: this.name.value,
      surname: this.surname.value,
      type: this.type.value,
      email: 'email@gmail.com',
      password: '',
      passwordToVerify: ''

     ;

    tempUser.name = this.name.value;
    tempUser.surname = this.surname.value;
    tempUser.type = this.type.value;

    this.springUserService.postSpringUser(tempUser).subscribe(data => 
      console.log('inserted user', data);
    );

【问题讨论】:

按照文档 (angular.io/api/core/ElementRef#properties) 尝试 this.name.nativeElement.value。这基本上适用于您所有的ElementRef 电话。 在每个输入中添加[(ngModel)] ? 现在程序已编译,但我遇到了这个问题:错误类型错误:无法读取 FirstPage.addNewUser (first.page.ts:33) 处未定义的属性“值”,其中:first.page.ts: 33 是:addNewUser() console.log('addNewUser');让 tempUser: SpringUser; tempUser = name: this.name.nativeElement.value, // 第 33 行 surname: this.surname.nativeElement.value, type: this.type.nativeElement.value, email: 'email@gmail.com', password: ' ', passwordToVerify: '' ; 【参考方案1】:

按照文档 (docs) 尝试 this.name.nativeElement.value。这基本上适用于您所有的ElementRef 电话。

【讨论】:

以上是关于TS 基本类型分类any 类型的主要内容,如果未能解决你的问题,请参考以下文章

TS基础语法

ts重点学习90-条件类型笔记

TypeScript入门基础

TypeScript入门基础

TS 错误:由于 withRouter,类型 'unknown' 不可分配给类型 'FunctionComponent<any>

TS2339: 属性 'showNewCustomerFields' 不存在于类型' newCustomer(owner: any): void; '