簡體   English   中英

如何在Angular 2中使用ngModel過濾空值?

[英]How to filter null value using ngModel in Angular 2?

流:

  1. 用戶提交帶有一些數據的表單,用戶未填寫的一些可選字段在mongo中保存為“null”。
  2. 稍后,用戶決定編輯該表單。
  3. 服務抓取表單並將其顯示給用戶。
  4. 表單輸入框顯示“null”,因為在步驟1中他沒有填充它們。

所以,我創建了一個管道:

import {Pipe, PipeTransform} from '@angular/core';

@Pipe({
name: 'transformNull'
 })

export class TransformNull implements PipeTransform {

transform(value) {
if (value == null) {
  return null;
 }
}

然后,在HTML中我試圖分解ngModel:

[ngModel]="user.extraInfo | transformNull" (ngModelChange)="user.extraInfo.value=$event"

這導致了這個錯誤:

Cannot set property 'value' of undefined TypeError: Cannot set property 'value' of undefined

我試圖用* ngIf =“isDataAvailable”延遲頁面加載,錯誤消失,用戶可以保存表單,值存儲到mongo 但是當他刷新頁面時,輸入框為空。

然后我刪除了* ngIf,添加了elvis運算符,但值錯誤又回來了。

我正在使用zone.js v0.7.4,試用0.7.2和0.7.5但沒有運氣。

我在這里錯過了什么?

使用ngModel需要將其拆分為

[ngModel]="user?.extraInfo " (ngModelChange)="user.extraInfo = $event"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM