Как изменить вид из контроллера в angular js?
Я новичок в angular js и пытаюсь работать с директивами ng-view и ngRoute.
У меня есть страница входа.html, в котором у меня есть код для кнопки входа в систему, написанный следующим образом
<button class="button button-block" ng-click="login()">Log In</button> 
И при нажатии на кнопку функция login в loginController будет выполнена, и мой контроллер будет записан следующим образом:
var App = angular.module('App', ['ngRoute']);
App.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/', {
        templateUrl: 'loginPage.html',
        controller: 'loginController'
      }).
      when('/home', {
        templateUrl: 'homePage.html',
        controller: 'homeController'
      });
  }]);
App.controller('loginController', ['$scope', '$http', '$location', function($scope, $http) {
    console.log("Hello from login controller");
    $scope.login = function() {
        //console.log($scope.user);
        $http.post('/login', $scope.user).success(function(response) {
            if(response.status == "true")
                //if the response is true i want to go to homepage.html.
            else
                $scope.error="Invalid login! Please try again";
                $scope.user.email="";
                $scope.user.password="";
      });
    };
}]);
Если response.status==true, то я хочу изменить свой взгляд на /home. Кто-нибудь может мне сказать, как это сделать?
Спасибо.
3 ответа:
if(response.status == "true") $location.path("/home");Не забудьте добавить
$locationк вашим параметрам контроллера следующим образом:['$scope', '$http', '$location', function($scope, $http, $location)...Также заключите ваше утверждение
elseв квадратные скобки, иначе только первая строка находится внутри утверждения:else { $scope.error="Invalid login! Please try again"; $scope.user.email=""; $scope.user.password=""; }