2014-06-02 2 views
1

Я понимаю, что здесь есть несколько сообщений по этой проблеме. Я пробовал их все на этом этапе, и, вероятно, почему код выглядит довольно плохо на данный момент. То, что я пытаюсь сделать, выглядит довольно просто. При отправке формы я хочу перенаправить на другой вид через маршрутизацию Angular.

ЭТО НАЗЫВАЕТСЯ ОТ ФОРМЫ ВВЕСТИ ФУНКЦИЯ

$http.post('/api/brackets', jsonData, { headers: headers }) 

    .success(function(data, status, headers, config) { 
    $scope.brackets = data; 
    $scope.$on('$routeChangeStart', function(next, current) { 
     $console.log('$routeChangeStart', arguments); 
     }); 
    $location.path('/leaderboard').replace(); ///this is where I am trying to redirecto to 
$scope.apply().replace(); 
$location.path('');       
}) 

** ЭТО НА МАРШРУТ ПРОВАЙДЕРОМ **

angular.module('appRoutes', []).config(['$routeProvider', '$locationProvider',  function($routeProvider, $locationProvider) { 

// Enable pushState in routes. 
$locationProvider.html5Mode(true).hashPrefix('!'); 
$routeProvider 

    // home page 
    .when('/', { 
     templateUrl: 'views/signin.html', 
     controller: 'authController' 
    }) 
    .when('/signin', { 
     templateUrl: 'views/signin.html', 
     controller: 'authController' 
    }) 
    .when('/signup', { 
     templateUrl: 'views/signup.html', 
     controller: 'authController' 
    }) 

    .when('/dash', { 
     templateUrl: 'views/dashboard.html', 
     controller: 'dashController' 
    }) 
    .when('/test', { 
     templateUrl: 'views/test.html', 
     controller: IndexCtrl 
    }) 
    .when('/profile', { 
     templateUrl: 'views/profile.ejs', 
     controller: IndexCtrl 
    }) 
    .when('/leaderboard', { 
     templateUrl: 'views/leaderboard.html', 
     controller: 'leaderboardController' // we might want to make this a partial 
    }) 
    .otherwise({ 
     redirectTo: '/' 
    }); 

//$locationProvider.html5Mode(true); 

}]); 

Любая помощь будет принята с благодарностью. Благодарю.

+0

ваш .apply() должен быть. $ Apply() – Delta

ответ

0
$http.post('/api/brackets', jsonData, { headers: headers }) 
.success(function(data, status, headers, config) { 
    $scope.brackets = data; 
    $scope.$on('$routeChangeStart', function(next, current) { 
     $console.log('$routeChangeStart', arguments); 
    }); 
    $location.path('/leaderboard').replace(); ///this is where I am trying to redirecto to 
    $scope.apply().replace(); 
    $location.path('');       
}) 

Это выглядит действительно от меня, первым вы говорите $ location.path пойти в/лидеров, но затем две строки позже вы говорите, это не идти в никуда. Вы вместо этого хотите сделать это:

$http.post('/api/brackets', jsonData, { headers: headers }) 
.success(function(data, status, headers, config) { 
    $scope.brackets = data; 
    $scope.$on('$routeChangeStart', function(next, current) { 
     $console.log('$routeChangeStart', arguments); 
    }); 
    $location.path('/leaderboard');    
}) 

Почему вы делаете $ apply? Кроме того, почему вы делаете .replace?

+0

locatation.path (''); это опечатка. это не в моем коде. Я применил и заменил из-за других сообщений здесь с той же проблемой, что и это сработало. Однако это не сработало для меня. – djpATLSF

+0

Что касается вашего вопроса о понимании кода выше ... снова на основе другого сообщения, кто-то говорил, что это будет способ проверить через консоль, будет ли изменение маршрута даже регистрироваться. – djpATLSF

+0

Вы должны быть более конкретными с тем, что ваш код, для всех целей и задач, он должен работать. –

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