“ContactFormComponent”类型上不存在属性“updateEmployeeName”

Posted

技术标签:

【中文标题】“ContactFormComponent”类型上不存在属性“updateEmployeeName”【英文标题】:Property 'updateEmployeeName' does not exist on type 'ContactFormComponent' 【发布时间】:2021-01-12 10:05:44 【问题描述】:

我是 Angular 的新手。我正在学习角度形式,虽然我从教程中复制了以下代码,但我仍然收到错误:

打字稿

import  Component, OnInit  from '@angular/core';
import  FormControl  from '@angular/forms';
@Component(
  selector: 'app-contact-form',
  templateUrl: './contact-form.component.html',
  styleUrls: ['./contact-form.component.css']
)

export class ContactFormComponent  
  employeeName= new FormControl('');

  updateEmployeeName()
    this.employeeName.setValue('john');
  


HTML

<label>
  Employee Name: 
  <input type="text" [formControl]="employeeName">
</label>

【问题讨论】:

您是否打算以更简单的模板驱动方式制作表单?还是反应形式的方式? 【参考方案1】:

您似乎没有复制/粘贴问题中的所有相关代码。 您收到的错误意味着您在代码中的某处使用了 updateEmployeeName(),但我所看到的只是 updateEmployeeName() 在您的 ts 文件中的声明。updateEmployeeName() 未在 html 中使用,也未在您随问题发布的 ts 文件中使用。 您能否再次检查一下您是否在其他地方使用过 updateEmployeeName

【讨论】:

抱歉,我没有发布其余代码:

值:EmployeeName.value

这个html在contact-form.component.html里面对吗? 一定是您的环境中发生了不好的事情,对我来说效果很好:stackblitz.com/edit/angular-ivy-sjhj3g?file=src/app/… 别忘了把 EmployeeName.value 改成 employeeName.value【参考方案2】:

代码似乎没有任何问题。您可以尝试停止您的开发服务器并再次运行ng serve 吗?正如here 所提到的,有时 Angular 不会反映您在开发过程中所做的更改。

Stackblitz:https://stackblitz.com/edit/angular-ivy-pxyrfx?file=src/app/app.module.ts

【讨论】:

以上是关于“ContactFormComponent”类型上不存在属性“updateEmployeeName”的主要内容,如果未能解决你的问题,请参考以下文章

在输入类型=“文件”上更改光标类型 [重复]

19.scala的类型上下界

C# 值类型与引用类型 (上)

模块扩充/在非类型文件上定义类型

课堂笔记 ------python数据类型(上)

引用类型与值类型在编码上的区别