为什么ng-show,ng-hide和ng-init甚至不起作用

时间:2018-11-05 22:06:52

标签: angularjs

我实际上是在使用angularJs和nodejs进行平均堆栈项目,但是我却坚持使用ng-show,ng-hide和ng-hide

这是我的index.html:

 <body ng-app="app">
    <div ng-controller="loginController"  ng-init="logged='false'" >

   <div class ="login" ng-hide="logged">
       <h3>Connexion </h3>
      <form action="" method="get">
    <label for="pseudo">Pseudo</label>
    <input type="text" name="pseudo">
    <label for="pwd">Mot de passe</label>
    <input type="password" name="pwd">
    <input type="submit" ng-click="auth()" value="Connexion">
       </form>
   </div>
</div>
   <div class="kuiz" ng-show="logged">
   {{ name }}
  </div>
  </body> 

app.js

/// reference path = "angular.min.js" />
var myApp = angular.module('app', []);


   myApp.controller('logincontroller',
   function($scope,$http){
     $scope.auth = function(data){
     $scope.logged = true;
    $scope.name= "lyes";
  }
 });

如您所见,我正在尝试进行身份验证,但实际上我只想显示身份验证表单并在身份验证后将其隐藏。

ps:i包括了所有必需的文件。

我在浏览器检查器中遇到这些错误

  

拒绝应用“ http://localhost:3116/main.css”中的样式,因为它的MIME类型(“ text / html”)不是受支持的样式表MIME类型,并且启用了严格的MIME检查。

     

无法加载资源:服务器的响应状态为404(未找到)

1 个答案:

答案 0 :(得分:0)

在ng-init中,定义logged='false',将log设置为字符串false,而不是布尔值false。因此,您的ng-hide和ng-show可能无法正常工作。您需要删除false周围的引号,以使其成为布尔值。

请注意,您的auth函数需要输入,但是您在ng-click上没有传递任何内容。

关于控制台中的错误,您不需要表单操作或方法,这可以解决您收到的404错误。