2014-01-21 2 views
0

, чтобы показать вам мою проблему, здесь ссылкуangularjs нг щелкните breacks после второго щелчка

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

, если нажать на кнопку в первый раз, когда он исчезает и форма будет показано, если я нажимаю на сброс, тогда форма закрывается, но теперь, если я хочу открыть его снова, ничего не происходит, кажется, что функция openForm() «никогда не будет вызвана снова.

кто-нибудь знает почему?

ответ

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

+0

Спасибо;) теперь работает отлично;) –

+0

Спасибо много ... То же самое случилось с меня – Ranjeet

Смежные вопросы