Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改值后,控制器停止更新值_Javascript_Angularjs - Fatal编程技术网

Javascript 更改值后,控制器停止更新值

Javascript 更改值后,控制器停止更新值,javascript,angularjs,Javascript,Angularjs,我试图在用户输入数据时使用angular来更改元素的css类,无论是在单击按钮之后还是在用户输入数据时都是实时的 HTML: 按下按钮后,控制器检查元素的模型是否为空,如果为空,则使函数返回true,从而更改ng类中的css类以显示错误 $scope.calcButton = function (){ if ($scope.inputOne === "" || $scope.inputOne === undefined) { $scope.updateInput = function(

我试图在用户输入数据时使用angular来更改元素的css类,无论是在单击按钮之后还是在用户输入数据时都是实时的

HTML:

按下按钮后,控制器检查元素的模型是否为空,如果为空,则使函数返回true,从而更改ng类中的css类以显示错误

$scope.calcButton = function (){

if ($scope.inputOne === "" || $scope.inputOne === undefined) {
    $scope.updateInput = function() {
        return true;
    };
} else {
    $scope.updateInput = function() {
        return false;
    };
}

};
在按钮单击功能之外,我在同一控制器中有以下代码,该控制器应监视$scope.inputOne的状态,并根据输入的状态返回true或false:

$scope.updateInput = function() {
    if ($scope.inputOne === "") {
        return true;
    } else {
        return false;
    }
 };
只要我不点击按钮,它就可以正常工作,但是一旦按下按钮改变了值,控制器就会停止检查输入字段是空的还是满的

这是一个问题,因为我希望在按下抛出错误的按钮后,当用户键入数据时,错误消息逐渐消失,但此时我无法通过用户输入更改css

为什么会这样?我如何确保控制器在点击按钮后仍能跟踪输入字段中发生的事情?

尝试这样做

ng-class="{'errorClass' : !inputOne,'defaultClass': inputOne }" 
ng-class="!inputOne ? 'errorClass' : 'defaultClass'" 
还是像这样

ng-class="{'errorClass' : !inputOne,'defaultClass': inputOne }" 
ng-class="!inputOne ? 'errorClass' : 'defaultClass'" 
JavaScript中的
''、null、NaN、未定义、0
等被视为
false

只需检查模型是否有价值


它将通过双向绑定工作。不需要此方法来检查

它可以工作,但也会产生另一个问题,因为默认情况下会显示错误。我以前在方法中使用它的原因是,我只希望它在已经发生更改后开始检查错误。@Tater然后使用
ng class=“{'errorClass':inputOne==”,'defaultClass':inputOne}