Использование того, что я думал, было основным путем, но мне это не нравится.
.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>
Благодарю!
вы пытались с помощью "window.location.href"?
window.location.href = "#/view";
или что-то с Приложением?
$scope.$apply(function() {
$location.path('/view');
});
или что-то с таймаутом
$timeout(function () {
$location.path('/bar');
});
Я думаю, у вас есть 2 варианта. Вместо кнопок вы можете использовать с тегом href указать, куда вы хотите пойти
<a href="/edit">Edit My Profile</a>
Другой вариант - использовать $ scope. $ Apply() после $ location.path(). Я думаю, что он работает нормально, но я думаю, что первый вариант лучше.