У меня есть эта труба:нулевой трубы угловая погрешность 2 возвращается при АОТ
@Pipe({
name: 'transformNull'
})
export class TransformNull implements PipeTransform {
transform(value: any) {
switch(value){
case null:
case undefined:
case "null":
case "undefined":
value = null;
break;
default:
if(typeof(value) == "string"){
value = value.trim();
}
break;
}
return value.toString();
}
}
и это HTML код:
<input type="text" formControlName="chipNumber" autocorrect="off" autocapitalize="off" spellcheck="off" name="chipNumber" class="form-control" id="chipNumber" placeholder="Αριθμός Microchip" [ngModel]="pet.chipNumber | transformNull" (ngModelChange)="pet.chipNumber.value = $event">
Когда я запускаю на JIT (ng build --prod
), труба работает как он должен, когда поле имеет «null», то ngModel возвращает пустое поле из mongo.
Когда я бегу ng build --prod --aot
тогда я получаю следующее сообщение об ошибке:
TypeError: Cannot create property 'value' on string ''
и вот код АОТ:
t.prototype.handleEvent_267 = function(e, t) {
this.markPathToRootAsCheckOnce();
var n = !0;
if (n = this._DefaultValueAccessor_267_3.handleEvent(e, t) && n,
"ngModelChange" == e) {
var i = (this.context.pet.chipNumber.value = t) !== !1;
n = i && n
}
return n
}
смешное, в любой другой странице, что труба существует , он работает так, как должен в aot. Только на этой странице я получаю эту ошибку. Я разрешаю все маршруты с помощью распознавателя, поэтому данные в порядке, он приходит, как следует.