首次单击后 ng-Click 在 angularjs 中不起作用

ng-Click not working in angularjs after clicking for the first time

我有一个代码,当您单击它时,应该会在 div 的中心显示一个弹出窗口。第一次点击它弹出 Hello div 但第二次点击它没有任何反应。请帮助我!这是我的完整代码。 这是 index.html

<!DOCTYPE html>
<html ng-app="myApp">

<head>
  <script src="https://code.angularjs.org/1.2.26/angular.js"></script>
  <script src="https://code.angularjs.org/1.2.26/angular-animate.js"></script>
  <link rel="stylesheet" href="style.css" />
  <script src="script.js"></script>
</head>

<body ng-controller="MyController">
  <div style="height:200px; background-color: red; position:relative">
    <div id="cover" ng-click="show = true" ng-click="show = false">
      Cover
    </div>
    <div ng-show="show" ng-click="show = true" ng-click="show = false" class="slide">
      Hello
    </div>
  </div>
</body>
</html>

这是script.js

console.clear();

var app = angular.module('myApp', ['ngAnimate']);

app.controller('MyController', function ($scope) {
  $scope.show = false;
});

这是style.css

div#cover {
  background-color: lightblue;
  width: 90px;
  height: 30px;
  position: absolute;
  bottom: 0px;
  z-index: 10;
}
.slide {
  background-color: white;
  width: 90px;
  height: 30px;
  position: absolute;
  bottom: 30px;
  z-index: 5;
  transition: 1s ease bottom !important;
  display: block !important;
}
.slide.ng-hide {
  bottom: 0;
}

删除所有 div 标签中的所有 ng-click。只需复制我下面的 ng-click 而不是你的 ng-click

尝试使用三元运算符。

ng-click="show = show == false ? true : false"

工作演示:Plunker

我会尝试这样的事情:

 $scope.changeShow = function (){
    $scope.var = ($scope.var === false) ? true : false;
  }
<div ng-show="var" ng-init="var=true" class="slide">
      Hello
</div>
<input type="button" ng-click="changeShow()">