0

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

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

如果您第一次单击按钮淡出并显示表单,如果我单击重置然后表单将关闭,但现在如果我想再次打开它没有任何反应,似乎功能“openForm( )" 再也不会被调用。

有人知道为什么吗??

4

1 回答 1

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

于 2014-01-21T22:03:55.567 回答