2015-08-23 2 views
0

Я очень новичок в HTML5, CSS и Angular. Я попытался написать простой код, чтобы запрограммировать кнопку, которая может изменить значение логического значения, просто чтобы проверить, как это делается. код выглядит следующим образом:Angularjs - Функция не работает

<!DOCTYPE html> 
<html> 
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"> 
</script> 

<body> 
<div ng-app="myApp" ng-controller="myCtrl"> 
<button ng-click="myFunction">Click Me!</button> 
<br> 
<p> 
{{myBool}} 
</p> 
</div> 
<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.myBool = "true"; 
    $scope.myFunction = function() { 
     if ($scope.myBool == true) { 
     $scope.myBool = false; 
     } else { 
     $scope.myBool = true; 
     } 
}; 
}); 
</script> 
</body> 
</html> 

Но когда я нажимаю кнопку, ничего не происходит. Может кто-нибудь сказать мне, почему? Любая помощь приветствуется, потому что, как видите, я совершенно потерян.

ответ

1

Вам не хватает () в конце myFunction. Оно должно быть: <button ng-click="myFunction()">Click Me!</button>

Кроме того, вы инициализирован $scope.myBool в виде строки, а не BOOL: $scope.myBool = "true" должен быть $scope.myBool = true

+0

Великий, который работал! И как инициализировать его как bool, @keithm? – chopeds

+0

@ user2211939 - используйте '$ scope.myBool = true;' – keithm

+0

Хорошо, большое спасибо. – chopeds

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