golovewkin
@golovewkin
WEB - Разработчик

Как перенаправить на главную Angular?

Всем привет!
На ссылке
angular.js-example/#
показывается список задач

На ссылке
angular.js-example/#/tasks/12
показывается детальное описание задачи

Чтобы возвращаться на главную сделал директиву
taskApp.directive('backButton', function ($location) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.on('click', function () {
                $location.url('/')
            });
        }
    };
});

По идее должно должно редиректить на главную.
Почему не работает?
Можно, конечно, написать history.back() но тогда те, кто пришел через angular.js-example/#/tasks/12 будут уходить с сайта
Спасибо
  • Вопрос задан
  • 613 просмотров
Решения вопроса 2
1. Зачем вы вешаете event через DOM?
Повесьте через ng-click.
2. Попробуйте $location.path('/');
3. Я понимаю что вы это для обучения делаете, но лучше сразу начинать пользоваться angular-ui-router, т.к. там есть много очень нужного функционала.
Ответ написан
golovewkin
@golovewkin Автор вопроса
WEB - Разработчик
сам догнал.
Нужно вызвать цикл $digest

Итого рабочий код
taskApp.directive('backButton', function ($location) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.on('click', function () {
                $location.path('/');
		scope.$apply();
            });
        }
    };
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы