【问题标题】:ng-class not behaving properlyng-class 行为不正常
【发布时间】:2017-12-04 10:32:28
【问题描述】:

我有以下带有 ng-repeat 和 ng-class 的代码行:

<div ng-repeat="invitee in invitedCollaborators" class="invite-collabs-emails">
     <input type="text" id="email-{{$index}}" validate-email="email.invalid" ng-class="{'collabs-email-required' : ((invitedCollaborators[{{$index}}].email == null || invitedCollaborators[{{$index}}].email ==''))}" class="collabs-email" placeholder="Enter email here" ng-required="true" ng-model="invitee.email"/>
     <a href ng-click="removeInvitee($index)" class="delete-invite">
       <img src="delete-invite.png">
     </a>
    </div>
<a href class="add-another-collabs-link" ng-click="addAnotherCollaborator()">Add another</a>

ng-repeat 在我们添加另一个输入框时重复输入框。 ng-class 有这个条件语句来添加 collabs-email-required 类,它添加红色边框颜色以显示需要输入。

现在我面临的问题是,当我添加多个输入框并在所有输入框中输入有效的电子邮件,然后删除其中一个输入框时,其他输入框显示红色边框颜色,即使它们有有效的电子邮件身份证。

我尝试在 ng-class 中添加三元运算符以使其工作:

ng-class="{'collabs-email-required' : ((invitedCollaborators[{{$index}}].email == null || invitedCollaborators[{{$index}}].email =='')) ? 'collabs-email'}

上面的问题得到了解决,但是当它失去焦点时输入框不显示红色边框。当它失去焦点并且没有填充有效的 id(或根本没有填充)时,它应该有红色边框。

我缺少什么条件?请帮忙。谢谢

【问题讨论】:

  • ng- 部分已经使它有角度了,你的变量不需要{{ ... }},所以使用不带括号的$index
  • @AlekseySolovey,嘿,谢谢您的快速回复,我删除了 $index 周围的角度表达式并尝试了,它完美地工作..真是个愚蠢的错误..

标签: angularjs


【解决方案1】:

试试这个

  <div ng-repeat="invitee in invitedCollaborators" class="invite-collabs-emails">
         <input type="text" id="email-{{$index}}" validate-email="email.invalid" ng-class="{'collabs-email-required' : ((invitedCollaborators[$index].email == null || invitedCollaborators[$index].email ==''))}" class="collabs-email" placeholder="Enter email here" ng-required="true" ng-model="invitee.email"/>
         <a href ng-click="removeInvitee($index)" class="delete-invite">
           <img src="delete-invite.png">
         </a>
        </div>
    <a href class="add-another-collabs-link" ng-click="addAnotherCollaborator()">Add another</a>

【讨论】:

  • 感谢 Aref 的回复。正如 Alexey 所建议的那样,我已经删除了 $index 周围的表达式并且它起作用了
猜你喜欢
  • 1970-01-01
  • 2016-11-28
  • 2017-08-18
  • 2017-01-16
  • 2017-03-18
  • 2015-12-13
  • 1970-01-01
  • 2016-06-24
  • 1970-01-01
相关资源
最近更新 更多