当前位置: 首页 > 知识库问答 >
问题:

无法绑定ngModel,因为它不是“组件”的属性[重复]

逄俊力
2023-03-14

所以,我试图在angular 4中创建一个自定义表单组件,我添加了ngModel工作所需的一切,但它没有。

这是我的子组件:

export class Search extends ControlValueComponent {

}
import {ControlValueAccessor, NG_VALUE_ACCESSOR} from "@angular/forms";
import {forwardRef, Input} from "@angular/core";

export class ControlValueComponent implements ControlValueAccessor {

  @Input() disabled: boolean;

  innerValue: any = '';

  static providerValueAcessor( ref: any): any {
    return [
      { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ref), multi: true }
    ];
  }

  onTouchedCallback: () => void = () => {};

  onChangeCallback: (_: any) => void = () => {};

  constructor() {
  }

  get value(): any {
    return this.innerValue;
  }

  set value(v: any) {
    if (v !== this.innerValue) {
      this.innerValue = v;
      this.onChangeCallback(v);
    }
  }

  writeValue(value: any) {
    if (value !== this.innerValue) {
      this.innerValue = value;
    }
  }

  registerOnChange(fn: any): void {
    this.onChangeCallback = fn;
  }

  registerOnTouched(fn: any): void {
    this.onTouchedCallback = fn;
  }

}
providers: ControlValueComponent.providerValueAcessor(SysSearch)

我试着这样使用它:

<search [(ngModel)] = 'value'><search>

共有1个答案

毕宇
2023-03-14

在类文件中导入FormsModule:

import {ControlValueAccessor, NG_VALUE_ACCESSOR} from "@angular/forms";
---->
import {ControlValueAccessor, NG_VALUE_ACCESSOR, FormsModule} from "@angular/forms";
 类似资料:
  • 因此,我试图在angular 4中创建一个自定义表单组件,我添加了ngModel工作所需的所有内容,但它没有。 这是我的子组件: 它扩展到处理所有“ControlValueAccessor”的类ControlValueComponent。 这是类ControlValueAccessor: 为了获得提供程序权限,我使用函数ProviderValueAccessor(位于ControlValueCom

  • 问题内容: 即使未显示组件,启动我的Angular应用程序时也会出现以下错误。 我必须将注释掉,这样我的应用才能正常工作。 我正在查看Hero插件,但与我的代码没有任何区别。 这是组件文件: 问题答案: 是的,就是这样,在app.module.ts中,我刚刚添加了:

  • 我已经在我的应用程序中导入了FormsModule和ReactiveFormsModule。模块,html应该是正确的, 错误 进口 我在运行npm-run-test:local时遇到这个错误,但如果我执行npm-start,它运行得很好。我使用了multiple[(ngModel)],它们都有相同的问题,我只是以这个为例。 我怎样才能解决这个问题?

  • 几天前,我开始使用角项目的离子。我有一个问题,当我服务我的项目.这是错误: NG0303:不能绑定到'ngModel',因为它不是一个已知的属性'离子范围'. 我想用离子范围的亮度普林。这是我的密码。 应用程序。单元ts 我有一些随机组件的共享文件夹和一个随机器。模块来管理它们。 在randomer.module.ts 还有我的brigthness.component.html 亮度组成部分ts:

  • 我已经和另一张票联系在一起了。这个错误只发生在测试中,我已经导入了每个链接消息的FormsMoules。我使用的是Angular 2.2.1。 在ng test中未定义的ngModel我已经导入了FormsMoules和ReactiveFormsMoules,但没有效果。我已经研究了24小时了,但我还没有接近。大多数都与升级有关,我用同样的问题擦拭并重新启动,使用ng生成创建测试模板时,测试模板非

  • 如果“create-report-card-form”是一个角组件,并且它有“current reportcardcount”输入,则验证它是否是此模块的一部分。 项目结构 Home.Module html