尝试用AngularJS做简单的事情:表单->;如果你把单词放对了->;按钮出现->;你可以点击并转到另一个页面;
尝试在AngularJS中做一件简单的事情:表单->若你们放对了单词->按钮出现->你们可以点击并转到不同的页面;(我没有尝试添加按钮的链接,因为即使没有链接,按钮也不会出现) 问题:如果我输入parola,按钮不会出现尝试用AngularJS做简单的事情:表单->;如果你把单词放对了->;按钮出现->;你可以点击并转到另一个页面;,angularjs,Angularjs,尝试在AngularJS中做一件简单的事情:表单->若你们放对了单词->按钮出现->你们可以点击并转到不同的页面;(我没有尝试添加按钮的链接,因为即使没有链接,按钮也不会出现) 问题:如果我输入parola,按钮不会出现 我不熟悉java脚本。谢谢 您应该首先阅读一些angular教程,您对scope的访问完全错误,并且使用了错误的$watch angular.module('myApp', []) .controller('MyCtrl', MyCtrl) function MyCtr
我不熟悉java脚本。谢谢 您应该首先阅读一些angular教程,您对scope的访问完全错误,并且使用了错误的$watch
angular.module('myApp', [])
.controller('MyCtrl', MyCtrl)
function MyCtrl($scope){
$scope.kPass = false;
$scope.pass = "empty";
$scope.$watch('pass',function(){
if($scope.pass == "parola"){
$scope.kPass = !$scope.Kpass;
}
})
};
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="foundation.min.css">
</head>
<body ng-app="myApp" ng-controller="MyCtrl">
<div>
<input type="text" ng-model="pass">
<div class="button" ng-show="kPass">click me</div>
</div>
<script src="angular.js"></script>
<script src="app.js"></script>
</body>
</html>
angular.module('myApp',[])
.controller('MyCtrl',MyCtrl)
函数MyCtrl($scope){
$scope.kPass=false;
$scope.pass=“empty”;
$scope.$watch('pass',function(){
如果($scope.pass==“parola”){
$scope.kPass=!$scope.kPass;
}
})
};
点击我
接下来,你是在过度使用你的代码。您可以在模板中内联它,而无需任何控制器函数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="foundation.min.css">
</head>
<body ng-app="myApp">
<div >
<input type="text" ng-model="pass">
<div class="button" ng-show="pass == 'parola' ">click me</div>
</div>
<script src="angular.js"></script>
<script src="app.js"></script>
</body>
</html>
点击我
这里有几个错误
首先,密码字段绑定到MyCtrl.pass
。但您正在关注$scope.pass的价值
第二,$scope.$watch期望一个角度表达式作为参数计算,而不是一个要监视的值。因此,观察字符串“MyCtrl.pass”将是正确的做法
第三,你根本不应该用手表。您只需使用ng show=“isPasswordValid(pass)”
(见下文),并从此函数返回true或false
第四,您不是执行$scope.kPass=($scope.pass==“parola”)
,而是反转$scope.kPass的值,但前提是该值正确。因此,如果它从不正确变为正确,kPass
将变为真实。然后,如果它变得不正确,kPass
将保持为真。如果它再次变为正确,它将变为错误
所以,要继续,你只需要
<div ng-controller="MyCtrl">
<input type="text" ng-model="pass">
<div class="button" ng-show="isPasswordValid(pass)">click me</div>
</div>
angular.module('app',[])代码>
请输入:“parola”
下一步
试试$scope.kPass=$scope.kPass代码>JavaScript区分大小写。将变量定义为$scope.kPass=false
,而不是$scope.Kpass
。另外,我还有一个快速问题:如果我点击我,为什么不点击;它不起作用;如果我点击按钮,它将不会让我进入另一个页面没有问题:)Angular需要一些时间来理解,但它是beast:)(当你不理解它时,它仍然是beast:)(你看到带有href的按钮了吗?:)@MilosMosovsky buttons没有href。链接可以。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="foundation.min.css">
</head>
<body ng-app="myApp">
<div >
<input type="text" ng-model="pass">
<div class="button" ng-show="pass == 'parola' ">click me</div>
</div>
<script src="angular.js"></script>
<script src="app.js"></script>
</body>
</html>
<div ng-controller="MyCtrl">
<input type="text" ng-model="pass">
<div class="button" ng-show="isPasswordValid(pass)">click me</div>
</div>
$scope.isPasswordValid = function(password) {
return pass === 'parola';
};