Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试用AngularJS做简单的事情:表单->;如果你把单词放对了->;按钮出现->;你可以点击并转到另一个页面;_Angularjs - Fatal编程技术网

尝试用AngularJS做简单的事情:表单->;如果你把单词放对了->;按钮出现->;你可以点击并转到另一个页面;

尝试用AngularJS做简单的事情:表单->;如果你把单词放对了->;按钮出现->;你可以点击并转到另一个页面;,angularjs,Angularjs,尝试在AngularJS中做一件简单的事情:表单->若你们放对了单词->按钮出现->你们可以点击并转到不同的页面;(我没有尝试添加按钮的链接,因为即使没有链接,按钮也不会出现) 问题:如果我输入parola,按钮不会出现 我不熟悉java脚本。谢谢 您应该首先阅读一些angular教程,您对scope的访问完全错误,并且使用了错误的$watch angular.module('myApp', []) .controller('MyCtrl', MyCtrl) function MyCtr

尝试在AngularJS中做一件简单的事情:表单->若你们放对了单词->按钮出现->你们可以点击并转到不同的页面;(我没有尝试添加按钮的链接,因为即使没有链接,按钮也不会出现)

问题:如果我输入parola,按钮不会出现
我不熟悉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.kPassJavaScript区分大小写。将变量定义为
$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';
};