我有一个注册页面,当填写注册表单并按下注册按钮时,它会从后端获得响应。
如果用户名存在于数据库中,则响应返回false,然后从那里我将$ scope变量($ scope.signedUp)更改为true,这应该只显示此现有错误消息:
<div class="padding assertive" ng-show="signedUp">
<i class="icon ion-minus-circled"></i>
Woops! Looks like that user already exists, try a different username.
</div>
这是注册控制器中的当前范围功能:
$scope.signup = function(){
User.signup($scope.credentials).then(function(res){
if(res === false){
console.log('res is: ', res);
$scope.signedUp = true;
console.log('$scope.signedUp ',$scope.signedUp);
}
});
};
第一次填写信息并单击注册时,控制台日志会记录下来:
app.js:47 res is: false
app.js:49 $scope.signedUp true
然而,错误没有显示,但奇怪的是,当我再次点击它时,它确实显示,但控制台日志中没有任何内容不同,这是否是离子的错误?我在这里注意到了类似的帖子:
但是看起来这张海报在没有显示的情况下解决了,如果可能的话,我不想这样做,谢谢。
答案 0 :(得分:1)
如果更新视图中可见范围内的变量,请运行以下行:
$scope.$apply();
此刷新输出,视图将更新。 但是,如果没有看到完整的代码,很难说。