Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 Can';不要让ng show在div之后显示div';s ng click已将其隐藏_Javascript_Angularjs_Angularjs Ng Click_Ng Show - Fatal编程技术网

Javascript Can';不要让ng show在div之后显示div';s ng click已将其隐藏

Javascript Can';不要让ng show在div之后显示div';s ng click已将其隐藏,javascript,angularjs,angularjs-ng-click,ng-show,Javascript,Angularjs,Angularjs Ng Click,Ng Show,我的视图中的hmtl代码如下所示: <div ng-show="show_alert_message" ng-bind-html="alert_message" class="alert-message-container" ng-click="show_alert_message=!show_alert_message"></div> 用户单击div将其关闭,导致ng单击使show_message_alert为false。这很好,隐藏了div。但是

我的视图中的hmtl代码如下所示:

<div ng-show="show_alert_message" ng-bind-html="alert_message"
     class="alert-message-container"
     ng-click="show_alert_message=!show_alert_message"></div>
用户单击div将其关闭,导致ng单击使show_message_alert为false。这很好,隐藏了div。但是如果我试图通过在控制器中再次运行命令来再次显示div,它不会显示:

$scope.show_alert_message = true;
似乎ng单击停止了再次显示div的可能

我做错什么了吗?控制器的作用域$scope.show\u alert\u message=true;应该与ng click=“show\u alert\u message=false”的范围相同,因此我不明白为什么第二个$scope.show\u alert\u message=true;第一个按钮不起作用。

使用
ng if=“show\u alert\u message”
ng click=“toggle()”


我做了一个狙击手,它可以按照你的意愿工作。查看您的作用域,查看运行
$scope.show\u alert\u message=true时使用的作用域。我想这是需要修理的地方

var$scope={};
var myApp=angular.module('myApp',[]);
myApp.controller('ngShowCtrl',['$scope',函数($scope){
$scope.show_alert_message=true;
$scope.alert\u message=“我是一条警报消息!”
}]);

显示/隐藏

您是否在控制台中运行该命令?没有太多信息可以给您一个明确的答案,但我猜您在父/子作用域方面有问题。你的ngClick正在设置子作用域上的属性,可能会覆盖你的父属性。我在angular应用程序中测试了它,它正在工作。也许是别的什么东西弄乱了它。请确保不要使用浏览器控制台,因为这样做不起作用。如果要撤消操作,请将“显示警告消息”设置为false。如果运行$scope,代码是否有效。显示警告消息=true;第二次在视图的控制器中(即,在ng单击运行后)。我不是想通过按钮来做这件事。我不明白你的问题。你想在哪里做这件事?如何设置
$scope.show\u alert\u message=true?基本上我尝试使用message div来显示帮助信息。在我的查看页面上,我有几个帮助图标,它们执行ng单击以调用控制器中的函数,以在div中显示相关的帮助消息。我第一次单击帮助图标时,它会按预期显示消息div。然后我通过点击来关闭消息。到现在为止,一直都还不错。但是如果我再次按下帮助图标,它不会显示消息。
$scope.show_alert_message = true;
$scope.toggle=function(){
  setTimeout(function(){
      $scope.show_alert_message=! $scope.show_alert_message;
      //$scope.$apply();
  },0);

}