错误:名称“ selectedText”没有值访问器

时间:2018-09-20 18:10:38

标签: angular angular5 karma-jasmine

虽然我正在编写用于按角度创建组件的单元测试,但显示此错误

  

“错误:表单控件“ selectedText”没有值访问器。

如果我将<p-editor>替换为<input>,它将正常工作。但是我不想那样做。如果可能的话,请帮助我进行代码解释。

app.html

<p-editor [ngModel]="selectedText" formControlName=""selectedtext">

app.ts

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

...

constructor(public Form: FormBuilder) {}

this.eventForm = this.form.group({
  selectedText: [''];
})

...

app.spec.ts

import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AppComponent } from './app.component';
import { FormsModule,FormGroup,FormBuilder} from '@angular/forms'

describe('AppComponent', () => {
      let component: FirstpageComponent;
      let fixture: ComponentFixture < FirstpageComponent > ;

      beforeEach(async(() => {
        TestBed.configureTestingModule({
          declarations: [AppComponent]
        })
        imports: [FormsModule, HttpModule]
          .compileComponents();
      }));

      beforeEach(() => {
        fixture = TestBed.createComponent(AppComponent);
        component = fixture.componentInstance;
        fixture.detectChanges();
      });
      fit("should be defined", () => {
        expect(component).toBeDefined();
      })

2 个答案:

答案 0 :(得分:1)

您必须检查是否正确进行了所有进口模块注册

第一

检查app.module.ts FormsModule中的@NgModule装饰器中是否注册了

import { FormsModule } from '@angular/forms';

@NgModule({
    imports: [ FormsModule ]
)}

确保所有必要的primeng模块都已注册。

答案 1 :(得分:0)

欢迎KISHORE R,

您不能将formControlName赋予p-editor,因为它不是formcontrol元素,而是组件。只是你需要这个

<p-editor [ngModel]="selectedText">