2016-07-13 6 views
0

у меня есть два различных HTML-формыПеремещение через формы AngularJS

  1. index.html
  2. home.html

Я пытаюсь создать логин в index.html, и если он проходит проверку подлинности Я хочу перейти к home.html, и если это не я, то я покажу предупреждение. Но страница не перемещается. Любые идеи относительно того, что я делаю неправильно?

Мой код выглядит следующим образом

index.html

<body> 

<div ng-app="myApp" ng-controller="myCtrl"> 
<div ng-view></div> 
<form ng-submit="login(username, password)"> 
     <label>User name</label> 
     <input type="text" ng-model="username" class="ng-pristine ng-valid"> 
     <label>Password</label> 
     <input type="password" ng-model="password" class="ng-pristine ng-valid"> 
     <br/> 

     <br/><br/> 
     <button class="btn btn-success" ng-click="">Submit</button> 
     <button class="btn btn-warning" ng-click="cancel()">Cancel</button> 
</form> 

</div> 
<script> 
var app = angular.module('myApp', ['ngRoute']); 
app.config([ '$routeProvider', '$locationProvider', 
    function($routeProvider, $locationProvider) { 
     $routeProvider.when('/home', { 
      templateUrl : 'home.html', 
      controller : 'HomeController' 
     }). 
     $routeProvider.when('/', { 
      templateUrl : 'index.html', 
      controller : 'myCtrl' 
     }). 
     otherwise({ 
       redirectTo: 'home.html' 
      }); 
     //$locationProvider.html5Mode(true); //Remove the '#' from URL. 
    } 
]); 

app.controller('myCtrl', function($scope,$location) { 
    // $scope.count = ''; 
    $scope.login = function(username, password) { 
     if (username == 'admin' && password == '1234') 
     { 
     $location.path("/home"); 
     } 
     else 
     { 
     alert('invalid username and password'); 
     } 
    } 
}); 
</script> 

</body> 

home.html

<!DOCTYPE html> 
<html> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<body> 

<div ng-app="myApp" ng-controller="HomeConroller"> 

<button ng-click="myFunction()">Click Me!</button> 

<p>{{ count }}</p> 

</div> 
<script> 
var app = angular.module('myApp', []); 
app.controller('HomeConroller', function($scope) { 
    $scope.count = 0; 
    $scope.myFunction = function() { 
     $scope.count++; 
    } 
}); 
</script> 

</body> 
</html> 
+0

попробовать '$ state.go ("/ дома");'. Удостоверьтесь, что вы вводите '$ state' в контроллер – theblindprophet

+0

все тот же! –

+0

@theblindprophet нет '$ state' в ngRoute – charlietfl

ответ

-1

Try:

window.location.href = "home.html"; 

Вместо

$location.path("/home"); 
+0

По-прежнему безрезультатно !!! Infact, когда я не аутентифицируюсь и он не отображает предупреждение! Есть предположения?? –

+0

По-прежнему никаких изменений. –

+0

'home.html' - это шаблон. Это не так, как работает угловая маршрутизация – charlietfl

Смежные вопросы