Javascript 为什么赢了';我的视图不能在Angular Js中更新吗?

Javascript 为什么赢了';我的视图不能在Angular Js中更新吗?,javascript,angularjs,angularjs-controller,ng-hide,Javascript,Angularjs,Angularjs Controller,Ng Hide,我正在尝试为我的web应用程序执行一些错误处理;更具体地说,每当服务器无法向客户端传递消息时,我希望显示一条错误消息 我有一个控制器,它被另一个控制器调用(在得到http响应后使用回调函数)处理一个事件(错误),前面提到的控制器应该将包含错误消息的div的ng hide属性设置为false,但看起来视图没有用新值更新。因此,div和消息永远不会显示。我什么都试过了,但似乎不知道问题出在哪里。谢谢大家! 这是我的错误处理控制器代码 var errorCtrl=function($scope,$ti

我正在尝试为我的web应用程序执行一些错误处理;更具体地说,每当服务器无法向客户端传递消息时,我希望显示一条错误消息

我有一个控制器,它被另一个控制器调用(在得到http响应后使用回调函数)处理一个事件(错误),前面提到的控制器应该将包含错误消息的div的ng hide属性设置为false,但看起来视图没有用新值更新。因此,div和消息永远不会显示。我什么都试过了,但似乎不知道问题出在哪里。谢谢大家!

这是我的错误处理控制器代码

var errorCtrl=function($scope,$timeout){
$scope.errorDivHide = true;
$scope.$on("Error", function(event, error){
var statustxt = error.statusText;

notifiyClientOfError = function(){
$timeout(function(){

$scope.errorDivHide = false;
console(String(errorDivHide));// prints false, as it should but the div wont appear

$scope.message = "Error :"+String(statustxt);
});
}
notifyClientOfError();
这是我的html

<div ng-controller ="errorCtrl">
  <div id ="errorDiv" ng-hide = "errorDivHide"/>
     {{message}}
   </div>
   <p> {{errorDivHide}} </p> ( I wanted to see the value; it happened to be true   even after I updated it in the controller)
</div>

{{message}}
{{errorDivHide}

(我想看看这个值;即使在我在控制器中更新了它之后,它也碰巧是真的)
您需要将ng hide转换为ng show,并且您的代码中有一个错误。这将是
而不是
ng controller=“errorCtrl”>
“ng controller”是一个打字错误;我没有复制和粘贴我的代码;我重新打了一遍。我的实际html确实有“”。为什么我应该使用ng show?因为如果变量'errorDivHide'为true,此指令(ng hide)将隐藏您的divI know,但在我的控制器中,在我的事件处理程序($scope.on(“Error”)”中,我将erroDivHide设置为false,以便它出现。这是错误的想法吗?我希望在我的事件处理程序($scope.on(“Error”)之前隐藏div被称为。