第二次单击后,angularjs ng-click中断

时间:2014-01-21 21:49:47

标签: angularjs click ng-bind

向您展示我的问题,这是一个链接

http://codepen.io/destroy90210/pen/adbCy

如果您在第一次淡出时单击该按钮并显示该表单, 如果我点击重置然后表单关闭,但现在如果我想再次打开它没有任何反应,似乎函数“openForm()”永远不会被再次调用。

有谁知道为什么?

1 个答案:

答案 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);
}

演示:http://codepen.io/anon/pen/tGwAI