簡體   English   中英

如何編寫將輸入封裝在模板中的角度自定義指令?

[英]How to write an angular custom directive that encapsulates an input in the template?

我正在嘗試編寫一個角度指令,該指令本質上將輸出標簽和輸入以及驗證碼。 當我這樣做時,我會得到奇怪的行為。

首先,對於我的測試用例,我對指令進行了硬編碼,以將ng-minlength放在輸入中。 當我這樣做時,由於某種原因,該模型未綁定。 如果我將其取下,它將正確綁定。

其次,我將name屬性設置為在custom指令上指定的屬性。 這樣可以防止錯誤處理。

在這個笨拙的人中,我有一個正在進行的例子:

http://plnkr.co/edit/BGxB5fENL5L6G7FcvPR5?p=preview

  • Label1-演示對name屬性進行硬編碼如何導致錯誤處理工作。 它還演示了包括ng-minlength如何導致模型值不受約束。
  • Label2-演示刪除ng-minlength將允許綁定模型值。
  • Label3-演示動態綁定name屬性會導致錯誤處理中斷。

在此方面的任何幫助將不勝感激。 我希望我只是缺少一些簡單的東西,但是我似乎找不到如何做到這一點的好例子。

空無效字段

根據此https://groups.google.com/forum/#!topic/angular/fsvIhzEPvuA,您正在獲得ng-minlength的預期行為。 如果您的初始值導致ng-minlength的驗證錯誤,則ng-minlength會將其返回為未定義。 (這解釋了標簽1和2字段沒有值的問題)

動態輸入名稱缺少驗證信息

標簽2和3的問題是angular不支持使用動態元素名稱進行驗證。 看來這是一個少數人遇到的問題,試圖使角度有所作為。 這里有更多信息和解決方法:

AngularJS:動態添加的字段未在FormController上注冊

(這應該可以解釋驗證信息缺少標簽字段2和3的問題)

暫無
暫無

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

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