向您展示我的问题,这是一个链接
http://codepen.io/destroy90210/pen/adbCy
如果您在第一次淡出时单击该按钮并显示该表单, 如果我点击重置然后表单关闭,但现在如果我想再次打开它没有任何反应,似乎函数“openForm()”永远不会被再次调用。
有谁知道为什么?
答案 0 :(得分:3)
您的函数和bool具有相同的名称,$scope.openForm
您在关闭事件上覆盖了false
的函数(以及打开时的true
)。
$scope.openForm = false; // <--- $scope.openForm is being set to a bool
$scope.openForm = function() { // <--- $scope.openForm is being set to a function
$scope.openForm = true; // <--- $scope.openForm is being set to a bool
console.log($scope.openForm);
}
$scope.closeForm = function() {
$scope.openForm = false; // <--- $scope.openForm is being set to a bool
console.log($scope.openForm);
}
解决方案,为bool使用不同的名称
$scope.isFormOpen = false;
$scope.openForm = function() {
$scope.isFormOpen = true;
console.log($scope.isFormOpen);
}
$scope.closeForm = function() {
$scope.isFormOpen = false;
console.log($scope.isFormOpen);
}