我已经安装了PrimeNg。我正在使用p-autoComplete
组件,但现在发生此错误。我到处检查,但找不到任何东西。另外,我只是想复制一个正式的PrimeNg演示。 p-autocomplete组件。
1-我已经这样安装了PrimeNg。
npm install primeng --save
npm install primeicons --save
2-我已经将模块添加到我的app.component.ts文件中。
import { AutoCompleteModule } from 'primeng/autocomplete';
//other imports
@NgModule({
declarations: [
AppComponent,
HomeComponent
],
imports: [
BrowserModule,
AutoCompleteModule
],
providers: [CountryServiceService],
bootstrap: [AppComponent]
})
export class AppModule { }
3-使用Angular Cli我创建了一个服务,并从primeNg官方网站添加了演示代码。
4-我已经在我的app.component.ts文件中显示了我的服务。
import { CountryServiceService } from './country-service.service';
...
providers: [CountryServiceService],
...
5-创建了一个名为home的组件,并在home.component.html中复制并粘贴了官方网站的演示代码。
<h3 class="first">Basic</h3>
<p-autoComplete [(ngModel)]="country"
[suggestions]="filteredCountriesSingle" (completeMethod)="filterCountrySingle($event)" field="name" [size]="30" placeholder="Countries" [minLength]="1"></p-autoComplete>
<span style="margin-left:10px">Country: {{country ? country.name||country : 'none'}}</span>
<h3>Advanced</h3>
<p-autoComplete [(ngModel)]="brand" [suggestions]="filteredBrands" (completeMethod)="filterBrands($event)" [size]="30" [minLength]="1" placeholder="Hint: type 'v' or 'f'" [dropdown]="true">
<ng-template let-brand pTemplate="item">
<div class="ui-helper-clearfix" style="border-bottom:1px solid #D5D5D5">
<img src="assets/showcase/images/demo/car/{{brand}}.png" style="width:32px;display:inline-block;margin:5px 0 2px 5px" />
<div style="font-size:18px;float:right;margin:10px 10px 0 0">{{brand}}</div>
</div>
</ng-template>
</p-autoComplete>
<span style="margin-left:50px">Brand: {{brand||'none'}}</span>
<h3>Multiple</h3>
<span class="ui-fluid">
<p-autoComplete [(ngModel)]="countries" [suggestions]="filteredCountriesMultiple" (completeMethod)="filterCountryMultiple($event)" styleClass="wid100"
[minLength]="1" placeholder="Countries" field="name" [multiple]="true">
</p-autoComplete>
</span>
<ul>
<li *ngFor="let c of countries">{{c.name}}</li>
</ul>
6-在home.component.ts文件中,我复制并粘贴了官方网站演示代码。
7-在app.component.html中,我添加了home组件以查看是否一切正常。
因此,我执行了这些步骤,但没有得到想要的行为,或者甚至看不到呈现的html页面。
所以,我在做什么错。严重!! 愚蠢的PrimeNg
答案 0 :(得分:3)
由于ngModel
是其中的一部分,因此您需要导入FormsModule:
import { FormsModule } from '@angular/forms';
^^^^^^^^^^^
import { AutoCompleteModule } from 'primeng/autocomplete';
//other imports
@NgModule({
declarations: [
AppComponent,
HomeComponent
],
imports: [
BrowserModule,
FormsModule,
^^^^^^^^^^^^
AutoCompleteModule
],
providers: [CountryServiceService],
bootstrap: [AppComponent]
})
export class AppModule { }
答案 1 :(得分:0)
我的工作example
基本html:
<p>
p-autoComplete Example
</p>
<p-autoComplete [(ngModel)]="text" [suggestions]="results" (completeMethod)="search($event)"></p-autoComplete>
{{text}}
app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';
import {AutoCompleteModule} from 'primeng/autocomplete';
@NgModule({
imports: [BrowserModule, FormsModule, AutoCompleteModule, BrowserAnimationsModule],
declarations: [AppComponent, HelloComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.ts:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
text: string;
results: string[]
search(event) {
this.results = ['aashish', 'ajay', 'Rama', 'Pidi'];
}
}