2016-10-31 15 views
0

私はこれを数日間苦労していますが、どこが間違っているのか分かりません。これは、ルーティングとコントローラを備えたangularjs Webを設定していますが、コントローラはビ​​ュー内で空のデータを表示していますが、コンソールでは$ scopeの出力をconsole.log($ scope) 。ここで私は本当に何を私知らないコード

index.htmlを

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="http://getbootstrap.com/dist/css/bootstrap.min.css"> 
<link rel="stylesheet" type="text/css" href="css/style.css"> 
<script src="bower_components/angular/angular.js"></script> 
<script src="bower_components/angular-md5/angular-md5.js"></script> 
<script src="bower_components/angular-route/angular-route.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> 
/script><sctipt src="http://getbootstrap.com/dist/js/bootstrap.min.js"> 
/sctipt><script src="js/main.js"></script> 
</head> 
<body ng-app='app'> 
<div ng-view></div> 
</body> 
</html> 

login.htmlと

<div class="container"> 
<div class="row"> 
    <div class="col-md-12"> 
     <div class="wrap"> 
      <p class="form-title"> 
       {{signin}}</p> 
      <form class="login"> 
      <input type="text" ng-placeholder="{{user}}" required/> 
      <input type="password" ng-placeholder="{{password}}" required/> 
      <input type="submit" value="{{signin}}" class="btn btn-success btn-sm" /> 
      <div class="remember-forgot"> 
       <div class="row"> 
        <div class="col-md-5"> 
         <div class="checkbox"> 
          <label> 
           <input type="checkbox" /> 
           {{rememberme}} 
          </label> 
         </div> 
        </div> 
        <div class="col-md-7 forgot-pass-content"> 
         <a href="javascription:void(0)" class="forgot-pass">{{forgotpassword}}}</a> 
        </div> 
       </div> 
      </div> 
      </form> 
     </div> 
    </div> 
</div> 

main.js

var app=angular.module('app',['ngRoute']); 
app.config(['$locationProvider','$routeProvider',function ($locationProvider,$routeProvider){ 
$routeProvider. 
    when('/login',{ 
     templateUrl:'html/login.html', 
     controller:'loginController' 
    }). 
    when('/home',{ 
     templateUrl:'html/home.html', 
     controller:'homeController' 
    }). 
    otherwise({ 
     redirectTo:'/login' 
    }); 
}]); 

app.run(function($rootScope){ 
$rootScope.urlapi='http://freecalendar.desirnet.com/api/api.php'; 
}); 

app.controller('loginController',function($scope,$rootScope,$location){ 
$scope={ 
    'singin':'Iniciar sesión', 
    'user':'Usuario', 
    'password':'Contraseña', 
    'rememberme':'Recuérdame', 
    'forgotpassword':'Recordar contraseña' 
}; 
console.log($scope); 

$scope.login=function(){ 
    var data=$.param({ 
     'user':$scope.txtuser, 
     'password':$scope.txtpassword 
    }); 

    $http.post($rootScope.urlapi,data) 
    .then(function(response){ 
     response=response.data; 
     console.log(response); 
     if(response.error!=undefined){ 
      $scope.errorlogin="El usuario y/o contraseña no son correctos"; 
     } else { 
      $location.path('/home') 
     } 
    }); 
} 
}); 

app.controller('homeController',function($scope,$rootScope,$location){ 
}); 

です'nmは間違っている、私は多くをフォローするルーティングチュートリアルは、何もありません。

コンソールには、$ scope出力だけのエラーはありません。あなたがいることを理解する必要があなたのloginController機能で$スコープパラメータに

$scope={ 
    'singin':'Iniciar sesión', 
    'user':'Usuario', 
    'password':'Contraseña', 
    'rememberme':'Recuérdame', 
    'forgotpassword':'Recordar contraseña' 
}; 

を新しい値を代入している

/のsctipt>

+0

$ scope宣言の "singin"に1つの問題があります。 – lintmouse

+0

あなたは私のソリューションを試しましたか? –

答えて

0

コードのこれらの行に誤植その後、Angularが使用している実際のスコープへのリンクが緩みます。 Angularはあなたのコントローラの意図が何であるかを知る方法がありません。それは単にため、角度が完全にあなたのビューで、コントローラから変更を反映することができます$スコープオブジェクトにいくつかのプロパティを追加すること

Object.assign($scope, { 
    'singin':'Iniciar sesión', 
    'user':'Usuario', 
    'password':'Contraseña', 
    'rememberme':'Recuérdame', 
    'forgotpassword':'Recordar contraseña' 
}); 

注意:ここで

は、トリックを行いますコードの一部です。

0

関連する問題