ngMessages先给出错误,然后解决
ngMessages gives error first then resolves
我有一种情况,我认为我无法在代码笔上轻松再现,但我会尽可能切中要害,任何帮助或指导都将不胜感激。
这是表单摘录(我隐藏了类以使示例更简单/可读)
当文本框的值第一次更改时(当我第一次输入某个内容时),它会发出GroupsProfile.name.$error
错误,导致类"has error"弹出。现在,如果我再次更改值(甚至更改为相同的文本),我会一切正常。
这与我尝试删除它们时的ng更改或ng单击无关,但仍然相同
<div class="{{(GroupsProfile.name.$error && GroupsProfile.name.$touched) ? ' has-error ' : ''}}">
<input type="text" ng-model="grp.name" name="name" required ng-change="check_grp()"/>
<div ng-messages="GroupsProfile.name.$error" ng-if="GroupsProfile.name.$touched">
<div ng-message="required">Group Name is required.</div>
</div>
</div>
经过一点努力,我创建了一个笔
要检查问题,请装入笔,然后在字段中写信,然后移出。u将看到错误
要重现错误,您必须重新加载页面
您的问题是这一行:
<div class="{{(GroupsProfile.name.$error && GroupsProfile.name.$touched) ? ' has-error ' : ''}}">
具体地说,GroupsProfile.name.$error。除非$error为null,否则它的值将为true。
起初,$error包含{required:true}。当您开始键入时,它将替换为{}。{}不为null,因此它应用您的has-error类。
你想要的是:
<div class="{{(GroupsProfile.name.$error.required && GroupsProfile.name.$touched) ? ' has-error ' : ''}}">
这应该可以解决你的问题。
此外,您应该使用ng类指令。
相关文章:
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- Javascript运行php文件,然后下载文件
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 弹出窗口出现,然后退出
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 将值输入到对象,然后该对象推送到数组
- 如何临时暂停浏览器渲染,然后恢复整个页面
- 如何解决Yii中的页面刷新问题
- 测试Angular Service解决错误回调中的promise
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 滚动然后捕捉到顶部而不是取消捕捉
- 如何解决Access Control Allow Origin错误
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 如何在状态输入ui路由器时立即显示模板,然后当承诺被解决时显示数据
- ngMessages先给出错误,然后解决
- 等待其他交互发生,然后再解决 RSVP
- 将已解决的承诺值传递到最终“然后”链的最佳方法是什么?
- jquery乘以2个文本框,然后显示解决方案