我正在尝试自定义管道:Angular 2自定义管道无法读取null属性
从'@ angular/core'导入{Pipe,PipeTransform};
@Pipe({
name: 'doubleNumber'
})
export class DoubleNumberPipe implements PipeTransform {
transform(value: any, ...args: any[]): any {
if(value == null)
{
return null;
}
else{
return value*2;
}
}
}
我宣布它在app.module.ts声明装饰部分:
declarations: [
AppComponent,
DataDrivenComponent,
DoubleNumberPipe
],
然后,我创建了一个HTML表单采取数量和一倍:
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<p>Number</p>
<input type="text" #val (keyup)="0">
<p>{{val.value | doubleNumber}}</p>
<hr>
<h1>Forms</h1>
<hr>
</div>
</div>
</div>
结果仅为“0”,并且出现以下错误:
EXCEPTION: Error in ./DataDrivenComponent class DataDrivenComponent - inline template:37:54 caused by: Cannot read property 'value' of null ErrorHandler.handleError @ error_handler.js:54 (anonymous) @ application_ref.js:261 ZoneDelegate.invoke @ zone.js:334 onInvoke @ ng_zone.js:273 ZoneDelegate.invoke @ zone.js:333 Zone.run @ zone.js:126 (anonymous) @ zone.js:713 ZoneDelegate.invokeTask @ zone.js:367 onInvokeTask @ ng_zone.js:264 ZoneDelegate.invokeTask @ zone.js:366 Zone.runTask @ zone.js:166 drainMicroTaskQueue @ zone.js:546
和:
Unhandled Promise rejection: Error in ./DataDrivenComponent class DataDrivenComponent - inline template:37:54 caused by: Cannot read property 'value' of null ; Zone: ; Task: Promise.then ;
试试这个'VAL .value',并显示您的组件 –
都能跟得上的代码?它没有与猫王运营商 – droidnation