2016-09-27 27 views
0

實施例類不明確的,用於存儲我的數據Angular2 ngModel確實當設置爲 「」

export class Key { 
    value: any = ''; 

    formatter() { 
     let value = MyFunction(this.value); 

      if(!value) { 
       value = ''; 
      } 

      this.value = value; 
     } 
    } 
} 

ngModel輸入字段

<input type="text" [(ngModel)]="key.value" (ngModelChange)="key.formatter()"> 

MyFunction的() - 應該刪除從所有非數字字符字符串和返回JUST the numbers

function MyFunction(mystr) { 
    mystr = mystr.replace(/\D/g,''); 

    if(mystr.length === 0) { 
     return ""; 
    }else { 
     return mystr; 
    } 
} 

當MyFunction()返回一個空字符串並嘗試更新key.value ...而不是清除輸入字段,它不斷追加新的字母。

我錯過了什麼嗎?

+0

它可以緩存或什麼?嘗試在不同的瀏覽器(firefox,chrome,IE)中運行您的應用程序。 – Bean0341

+0

緩存是完全禁用,但我嘗試在不同的瀏覽器,仍然沒有運氣 – Bioto

回答

0

key.formatter()功能與

if(value === ""){ 
    ... 
} 

希望這有助於更換,如果條件!

0

而不是(ngModelChange)嘗試使用[value]="key.value | yourCustomPipe

相關問題