Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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正常工作_Javascript_Angularjs_Google Visualization - Fatal编程技术网

Javascript Can';不要让ng show正常工作

Javascript Can';不要让ng show正常工作,javascript,angularjs,google-visualization,Javascript,Angularjs,Google Visualization,我不知道我是否以正确的方式使用了侦听器。它可以很好地用于其他方面,但我希望在单击时使用ng show显示HTML div。我错过什么了吗?谢谢 <div ng-show="infoActive"> <h2>WHATEVER IS HERE</h2> </div> 您应该首先初始化该值 例: 您的问题是没有将函数绑定到作用域。将其更改为此,它将工作: $scope.selectHandler = function selectHand

我不知道我是否以正确的方式使用了侦听器。它可以很好地用于其他方面,但我希望在单击时使用ng show显示HTML div。我错过什么了吗?谢谢

 <div ng-show="infoActive">
    <h2>WHATEVER IS HERE</h2>
 </div>

您应该首先初始化该值

例:


您的问题是没有将函数绑定到作用域。将其更改为此,它将工作:

$scope.selectHandler =  function selectHandler(e) {

          $scope.infoActive = !$scope.infoActive;
          console.log($scope.infoActive);
      }
});

需要更多的上下文。什么是$scope.infoActive?它是布尔值吗?如果是,你在哪里申报?你的应用程序设置正确吗-
ng应用程序
ng控制器
等?也许你可以制作一个plunker.@LJ.Wizard是的,这是一个相当大的应用程序,一切正常。只是我不太了解ng show的行为。我有一个谷歌图表,当点击它时,它会触发函数selectHandler()。在我的代码中,函数中有更多的东西可以正常工作。但是我不知道ng show有什么不对。
ng show
计算infoActive变量/表达式。如果为真,则应显示
。运行该函数时,console.log提供了什么?这样,您就可以确定错误是在逻辑中,还是没有绑定到视图?@LJ.Wizard我正在使用console.log($scope.infoActive),并且每次单击时它都会切换true/false,因此函数可以按照我的需要工作。它看起来像是ng显示它没有评估那个范围,或者我缺少一些ng模型。。。我不知道。这是无效的,我没有按钮。该功能是由谷歌图表触发的,这就是为什么我不能使用按钮。。。
  <div ng-show="infoActive" >
   <h2>WHATEVER IS HERE</h2>
   </div>
<button ng-click="infoActive=!infoActive" >click it! </button>
myApp.controller('Controller', ['$scope', function($scope) {
$scope.infoActive= true;
}]);
$scope.selectHandler =  function selectHandler(e) {

          $scope.infoActive = !$scope.infoActive;
          console.log($scope.infoActive);
      }
});