Actualicé mi proyecto Angular 11 usando controles primeng a Angular 12. Una vez hecho esto, primeng pKeyFilter arroja un error en todos los lugares donde se usa. Crear un nuevo proyecto de Angular 12 desde cero no tiene este problema. Todo lo demás parece funcionar bien después de la actualización. ¿Alguna idea?
Aquí está el componente
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-key', templateUrl: './key.component.html', styleUrls: ['./key.component.scss'] }) export class KeyComponent implements OnInit { public myvalue: string = ''; constructor() { } ngOnInit(): void { } }Aquí está el HTML
<input type="text" pInputText [(ngModel)]="myvalue" pKeyFilter="int"/> <p> <span>{{myvalue}}</span> </p>aqui esta el error completo
Error: src/app/modules/nourishment/pages/test/key/key.component.html:1:23 - error NG8007: las mitades de propiedad y evento del enlace bidireccional 'ngModel' no están vinculadas al mismo objetivo . Encuentre más en https://angular.io/guide/two-way-binding#how-two-way-binding-works
1 <tipo de entrada="texto" [(ngModel)]="mivalor" pKeyFilter="int"/> ~~~~~~~
node_modules/@angular/forms/forms.d.ts:3297:22 3297 clase de declaración de exportación NgModel extiende NgControl implementa OnChanges, OnDestroy { ~~~~~~~ La mitad de la propiedad del enlace es para el componente 'NgModel'.
node_modules/primeng/keyfilter/keyfilter.d.ts:6:22 6 exportar declarar clase KeyFilter implements Validator { ~~~~~~~~~ La mitad del evento del enlace es para el componente 'KeyFilter'.
src/app/modules/nourishment/pages/test/key/key.component.ts:5:16 5 templateUrl: './key.component.html', ~~~~~~~~~~~~~~ ~~~~~~~~ Ocurre un error en la plantilla del componente KeyComponent.
Entiendo los conceptos básicos detrás del error, pero no puedo entender qué lo está provocando. Tengo primos InputModule y KeyFilterModule importados, así como FormsModule en el módulo principal. Una vez más, todo esto funcionaba antes de la actualización. https://www.primefaces.org/primeng/showcase/#/keyfilter
Acabo de cambiar el orden de [(ngModel)] en primer lugar y [pKeyFilter] en último
de :
<input type="text" pInputText [pKeyFilter]="'money'" [(ngModel)]="tare" >a :
<input type="text" pInputText [(ngModel)]="tare" [pKeyFilter]="'money'" >funciona bien
Abrí un nuevo problema para arreglar esto:
Cuando encendí Angular:
angularCompilerOptions: strictTemplatesTambién me sale este error.
Probar:
[pKeyFilter]="'int'"esta funcionando para mi
yo suelo
"@angular/core": "^12.2.0", // etc... "primeng": "^12.0.1",