AngularJS条件类不起作用

时间:2014-09-18 05:17:30

标签: javascript angularjs

我的控制器中有一个注册功能:

    $scope.register = function() {
        User.register($scope.user)
            .success(function(data) {
                if(data.success) {
                    $scope.stage = false;
                } else {
                    $scope.message = true;
                }
            });
    }

然后我有这个HTML:

    <div class="form-group" ng-class="{ hidden: stage }">
        <label for="token">Confirmation Token</label>
        <input type="text" class="form-control" placeholder="Enter the token sent to your phone" ng-model="user.token" required>
    </div>

通常在jQuery中,我会通过删除data.success隐藏的类来更新DOM。在这里,我使用ng-class有条件地应用或删除了一个类,但似乎它没有用。

我希望默认情况下该类在那里,然后希望在data.success

时将其删除

我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

如果你想要应用这个类,你需要在你的控制器中设置一个阶段值。

$scope.stage = true;
User.register($scope.user)
...

如果你所有的目标都是显示/隐藏元素,你可以使用ng-show或ng-hide代替ng-class(但是你仍然需要将stage设置为true ):

<div class="form-group" ng-show="stage">

答案 1 :(得分:0)

尝试这样的事情:

<div class="form-group" ng-class="{true: 'hidden'}[stage]">