Angular 错误:Can';t绑定到';建议';因为它不是';t'的已知属性;p-自动完成';涂底漆
我在我的爱奥尼亚项目上安装了Priming,以便能够使用autocomplete,我遵循了所有建议,但仍然存在错误: 错误:模板分析错误:无法绑定到“建议”,因为它 不是“p-autoComplete”的已知属性。 1.如果“p-autoComplete”是一个角度组件,并且有“建议”输入,则验证它是否是此模块的一部分。 2.如果“p-autoComplete”是一个Web组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到此组件的“@NgModule.schemas”中 以抑制此消息 注意到我已经这样做了:Angular 错误:Can';t绑定到';建议';因为它不是';t'的已知属性;p-自动完成';涂底漆,angular,ionic-framework,primeng,Angular,Ionic Framework,Primeng,我在我的爱奥尼亚项目上安装了Priming,以便能够使用autocomplete,我遵循了所有建议,但仍然存在错误: 错误:模板分析错误:无法绑定到“建议”,因为它 不是“p-autoComplete”的已知属性。 1.如果“p-autoComplete”是一个角度组件,并且有“建议”输入,则验证它是否是此模块的一部分。 2.如果“p-autoComplete”是一个Web组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到此组件的“@NgModule.schemas”中 以抑制此消
npm install primeng --save
npm install primeicons --save
我的应用程序模块.ts
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import {AutoCompleteModule} from 'primeng/autocomplete';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
// tslint:disable-next-line: max-line-length
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, HttpModule, HttpClientModule,
AutoCompleteModule, BrowserAnimationsModule, MultiSelectModule],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent],
schemas:
[CUSTOM_ELEMENTS_SCHEMA]
})
angular.json中的样式配置
"styles": [
"node_modules/primeicons/primeicons.css",
"node_modules/primeng/resources/themes/nova-light/theme.css",
"node_modules/primeng/resources/primeng.min.css",
{
"input": "src/theme/variables.scss"
},
{
"input": "src/global.scss"
}
]
我的HTML
<ion-content>
<h3>Liste des Docteurs</h3>
<span class="ui-fluid">
<p-autoComplete [(ngModel)]="medecins" [suggestions]="filteredMedecinsMultiple" (completeMethod)="filterMedecinMultiple($event)" styleClass="wid100"
[minLength]="1" placeholder="Médecins" field="name" [multiple]="true">
</p-autoComplete>
</span>
</ion-content>
医生名单
我的Ts组件
import { Component, OnInit } from '@angular/core';
import { MedecinService } from '../medecin.service';
@Component({
selector: 'app-search',
templateUrl: './search.page.html',
styleUrls: ['./search.page.scss'],
})
export class SearchPage implements OnInit {
medecin: any;
medecins: any[];
filteredMedecinsMultiple: any[];
constructor(private medecinService: MedecinService) { }
filterMedecinMultiple(event) {
const query = event.query;
this.medecinService.getMedecins().toPromise().then(medecins => {
this.filteredMedecinsMultiple = this.filterMedecin(query, this.medecins);
});
}
filterMedecin(query, medecins: any[]): any[] {
const filtered: any[] = [];
for (let i = 0; i < medecins.length; i++) {
const medecin = this.medecins[i];
if (medecin.name.toLowerCase().indexOf(query.toLowerCase()) === 0) {
filtered.push(medecin);
}
}
return filtered;
}
```
Thanks
从'@angular/core'导入{Component,OnInit};
从“../medecin.service”导入{MedecinService};
@组成部分({
选择器:“应用程序搜索”,
templateUrl:'./search.page.html',
样式URL:['./search.page.scss'],
})
导出类SearchPage实现OnInit{
医学:任何;
医学:任何[];
FilteredMedCinsMultiple:任意[];
建造商(私人医疗服务:医疗服务){}
过滤器抽取倍数(事件){
const query=event.query;
this.medecinService.getMedecins().toPromise().then(medecins=>{
this.filteredMedCinsMultiple=this.filterDecin(查询,this.medecins);
});
}
FilterDecin(查询,医学名称:any[]):any[]{
常量筛选:任意[]=[];
for(设i=0;i
是否已将其导入到页面的模块中?请尝试在ngOnInit()上初始化它,如下所示;