2016-05-19 2 views
0

Используя то, что я думал, было основным маршрутом, но мне он не нравится.AngularJS Route показывает следующий вид, а затем отправляет его обратно в предыдущий вид.

.config([ 
     '$routeProvider', 
     function($routerProvider){ 
      $routerProvider 
       .when('/view',{ 
        templateUrl: 'view-profile.html', 
        controller: 'UserProfileController' 
       }) 
       .when('/edit',{ 
        templateUrl: 'edit-profile.html', 
        controller: 'UserProfileController' 
       }) 
       .otherwise({ 
        redirectTo: '/view' 
       }); 
     } 
    ]); 

Вышеуказанные работы, я могу вручную вводить/просматривать или редактировать в браузере, и он будет загружаться и работать.

У меня есть кнопки на моей странице для переключения пользовательского интерфейса, и когда я это делаю, я вижу новый вид, а затем он сразу же переключается обратно. Я нахожусь в/view, я нажимаю, чтобы изменить путь к редактированию, и он переходит к редактированию, а затем назад для просмотра. Однако, когда я начинаю редактировать, и нажимаю, чтобы перейти на просмотр, он застрял. Затем я могу вернуться к редактированию. Похоже, что когда страница загружается на просмотр.

Вот как я меняю мнения

this.viewProfile = function() { 
     $location.path('/view'); 
    }; 
    this.editProfile = function() { 
     $location.path('/edit'); 
    }; 

и кнопки выглядят

On/зрения

<button ng-click="user.editProfile()">Edit My Profile</button> 

On/редактировать

<button ng-click="user.viewProfile()">Save</button> 

Спасибо!

ответ

0

Вы пытались использовать "window.location.href"?

window.location.href = "#/view"; 

или что-то с Приложением?

$scope.$apply(function() { 
    $location.path('/view'); 
}); 

или что-то с таймаута

$timeout(function() { 
    $location.path('/bar'); 
}); 
+0

Я не пробовал те. Просто добавленный маршрут на мою страницу, все, что я изменил/добавил, выше. –

0

Я думаю, что у вас есть 2 варианта здесь. Вместо кнопок, которые можно использовать с HREF тега, чтобы указать, где вы хотите пойти

<a href="/edit">Edit My Profile</a> 

Другой вариант заключается в использовании $ объем. $ Применять() после $ location.path(). Я думаю, что он работает нормально, но я думаю, что первый вариант лучше.

+0

добавлен код для кнопок –

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