4
這是我想做什麼:
- 我有兩個輸入的形式之一是鍵入「電子郵件「,另一種是輸入」密碼「。
- 有所謂的形式在$範圍
- 兩個輸入有NG-模型指令(NG-模型=「form.input_name」)
- 我想讓旁邊的圖標看起來只有當有些事情在打字輸入的對象在輸入
- 該圖標有一個附加動作來清除輸入(使用angularjs hammer的指令'ng-tap')。
- 要檢查輸入是否設置並使圖標顯示,我使用ng-if =「form.input_name.length> 0」。
- 問題是,輸入的模型值僅在輸入爲$ valid時設置,因此對於我的電子郵件輸入,只有在輸入內容上輸入了有效的電子郵件格式([email protected]) 。
有沒有辦法檢查輸入的視圖值ng-if還是有更好的解決方案來使圖標出現?
下面是我使用(與CSS類略)代碼:
-HTML:
<form name="form-login">
<input placeholder="email" type="email" ng-model="form.email" required>
<i hm-tap="clearContent('email')",ng-if="form.email.length>0">
<input placeholder="password" type="email" ng-model="form.passwd" required>
<i hm-tap="clearContent('passwd')",ng-if="form.passwd.length>0">
</form>
- 函數來清除輸入的CoffeeScript
$scope.clearContent = (fieldName) ->
switch fieldName
when 'passwd' then $scope.form.passwd = ""
when 'email' then $scope.form.email = ""
此爲正常工作密碼輸入(因爲它沒有驗證)。 感謝您的閱讀。
感謝字段設置[爲空字符串]避免
clearContent
功能,即工作!需要注意的一點是,如果我使用'form-login'而不是'formLogin'作爲表單名稱,那麼ng-if指令不會出於某種原因。我不知道它需要命名約定。抱歉沒有爲您的帖子btw投票+1。我剛剛創建了我的帳戶,因此我沒有足夠的投票聲望。 –變數名稱中不允許使用連字符/破折號,儘管它們可以在可以將密鑰作爲字符串傳遞的鍵中使用。表單名實際上是'$ scope'對象中的一個鍵,所以它是允許的,但是在模板中使用Angular解析它是另一個問題,它會從'form'中減去'login'。 – TheSharpieOne
AH,我沒有想到使用$ viewValue。很好。收回我的答案。 –