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

0

Использование того, что я думал, было основным путем, но мне это не нравится.

    .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');
    };

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

Вкл./Просмотр

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

Вкл./Править

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

Благодарю!

Теги:
angularjs-ng-route
angularjs-1.5

2 ответа

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>

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

  • 0
    добавлен код для кнопок

Ещё вопросы

Сообщество Overcoder
Наверх
Меню