我正在处理一个按钮,如果其上方的表单字段无效,则会在点击它时尝试摇动它。
这是我的控制器代码: -
if(valid){.. do valid stuff here ..}
else{
console.log(this.shakeNotValid);
// SHAKE ANIMATION
this.shakeNotValid = true;
$timeout(function() {
this.shakeNotValid = false;
} , 500);
}
否则定义或分配this.shakeNotValid。
控制台线第一次返回未定义状态,然后按钮震动,但随后又一次又一次地让我恢复原状并且没有动摇。
在html中,我正在为这个按钮分配一个类: -
<div ng-click="main.mClick()"
ng-class="{isDisabled: !main.isValidContact && main.showContactCard,
isShaking: main.shakeNotValid}">
我想要的是这个按钮可以多次摇动,直到用户点击所有内容都变为有效。
请帮助一下,谢谢!
答案 0 :(得分:2)
我认为this
中的this.shakeNotValid = true
和this
中的this.shakeNotValid = false
是两个不同的对象。
如果我是你,我会尝试按照以下方式更改您的代码并尝试一下:
if(valid){.. do valid stuff here ..}
else {
_this = this;
console.log(_this.shakeNotValid);
// SHAKE ANIMATION
_this.shakeNotValid = true;
$timeout(function() {
_this.shakeNotValid = false;
} , 500);
}