2017-01-12 16 views
0

我有一個textarea輸入綁定到模型。我也有一個選擇,其中有一個啓動示波器功能的ng-change。當改變選擇時,模型會改變。 ng-class上的功能是將模型的原始值與當前值進行比較。添加的類用於對textarea的背景着色,以便當當前值==原始值背景爲白色時。但在這裏玩有些奇怪的東西。爲什麼ng-class的評估除非手動修改輸入?

案例1:

  1. 運行在選擇框擺弄
  2. 選擇「2017年10月12日」。 select背景變綠(如預期),但textarea背景保持白色。

案例2:

  1. 運行小提琴
  2. 點擊進入textarea和改變數值。 textarea按預期變爲綠色。鍵入原始值會導致textarea按預期變爲白色。
  3. select框中選擇'2017-10-12'。 select背景變綠,textarea變綠。 (按預期)
  4. select框中選擇'2017-11-01'。所選背景變爲白色,並且textarea也變爲白色。 (按照預期)

爲什麼1號案件不工作?

jsFiddle

+0

使用版本1.5.7雖然小提琴是1.4.8 。 – Todd

回答

0

這是關於髒檢查和你的CSS周圍:

.form-control.ng-dirty.ng-valid, select.ng-dirty.ng-valid { 
    background-color: $formDirtyValid; 
} 

.form-control.ng-dirty.ng-valid.nochange, select.ng-dirty.ng-valid.nochange { 
    background-color: $formBack ; 
} 

輸入元素只會有一類「NG-髒」就可以了之後,你改變了輸入。

,你可以通過CSS選擇刪除「.ng髒」類選擇修復它,就像這樣:

.form-control.ng-valid, select.ng-valid { 
    background-color: $formDirtyValid; 
} 

.form-control.ng-valid.nochange, select.ng-valid.nochange { 
    background-color: $formBack ; 
} 

https://jsfiddle.net/evmt2c56/15/