2015-10-14 108 views
0

我使用AngularJS制作登录表单。输入用户密码并点击登录按钮后,我试图检索这些值。但是这些打印为未定义。AngularJS - 获取'undefined'

我的代码如下所示。

的Javascript

文件:app.js

var mdmApp = angular.module('mdmApp', [ 'ngRoute' ]); 

    mdmApp.config(function($routeProvider, $httpProvider) { 
     $routeProvider.when('/home', { 
      templateUrl : 'partials/home.html', 
      controller : 'homeController' 
     }).when('/login', { 
      templateUrl : 'partials/login.html', 
      controller : 'loginController' 
     }); 
    }).controller('homeController', function($scope) { 

    }).controller('loginController', function($scope) { 
     var user = $scope.user; 
     var password = $scope.password; 

     $scope.login = function() { 
      console.log($scope.user + "-" + $scope.password); 
     } 
    }) 

HTML

文件:谐音/ login.html的

<link href="../bower_components/bootstrap/dist/css/bootstrap.css" rel="stylesheet"> 


    <form role="form" ng-submit="login()"> 

     <div ng-app="mdmApp" ng-controller="loginController"> 

       <div class="form-group" > 
        <label for="user" class="control-label">User</label> 
        <input id="user" type="text" ng-bind="user" class="form-control"> 
       </div> 

       <div class="form-group"> 
        <label for="password" class="control-label">Password</label> 
        <input id="password" type="password" ng-bind="password" class="form-control"> 
       </div> 

       <div class="form-group"> 
        <input type="submit" value="Login" class="btn btn-primary"> 
        <input type="reset" value="Reset" class="btn btn-primary"> 
       </div> 
     </div> 
    </form> 

回答

3

您应该使用ng-model,而不是ng-bind

<input id="user" type="text" ng-model="user" class="form-control"> 
<input id="password" type="password" ng-model="password" class="form-control"> 
+0

它在该更改后生效。谢谢。分配var user = $ scope.user后;并打印var用户打印undefined ...我不能分配给一个var? – Jay