2014-11-21 21 views
0

我有一個指令,檢查指令的模板中的3個輸入字段的條件,並使用$ setValidity來禁用保存按鈕,AND給出一個字段的顏色; 在角1.2這個作品:

template: '<input type="text" size="8" ng-model="date.date" ng-change="checkDateInput();" ng-class="{\'ng-invalid\': $invalid}" ui-mask="9999-99-99" placeholder="yyyy-mm-dd">' 

我們現在切換到角1.3,而不是用$ setValidity直接操縱我(在1.3新)由$驗證。

更乾淨,但現在增加了課間休息;當我在指令模板中打印$ error或$ invalid時,它不存在,而當我在指令外使用它們時,它們會提供正確的布爾值。

任何人都知道如何在1.3中的指令模板中訪問ngModel屬性?

回答

1

你被錯誤添加類:

ng-class="{\'ng-invalid\': $invalid}" ui-mask="9999-99-99" placeholder="yyyy-mm-dd">' 

應該

ng-class="{'ng-invalid': $invalid}" ui-mask="9999-99-99" placeholder="yyyy-mm-dd">' 

也可以嘗試$無效之前把表格的名稱,如

myFormName.$invalid 
+0

因爲這是一個指令模板的一部分,整個事情是在引號之間,這就是爲什麼他們需要逃脫...你的版本崩潰創建直接我有。 – 2014-11-21 15:31:54

+0

好的,但是這個在評估ng-class的時候會崩潰,如果沒有自己的引號,你不能用短劃線傳遞類 – 2014-11-21 15:40:10

+0

問題是我根本不能在指令的模板屬性中訪問$ invalid;如果我在模板屬性的末尾鍵入{{$ invalid}},它將保持爲空。 – 2014-11-21 15:53:49