AngularJS - использование перенаправления ngTouch с ngRoute не работает с атрибутами href и ng-click

Я перемещаюсь по приложению с помощью ngRoute. Я использую ссылки как:

<a href="#/page2" ng-click="showOffCanvas = false">Link</a>

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

Когда я удаляю ngTouch, эта проблема исчезает. Он также исчезает, когда я удаляю атрибут ng-click.

Ссылка на:

<a href="www.google.com" ng-click="showOffCanvas = false">google</a>

работает на каждом устройстве. Кажется, что только маршрутизация с ngRoute перестает работать, когда я включаю ngTouch.

Какое будет решение?

1 ответ

Это старая ошибка, которая не была исправлена ​​до этого времени. Href и ng-click не работают вместе.

Обходным путем может быть использование пустого href и помещение логики навигации в ng-click с использованием $location.

Доказательство: https://github.com/angular/angular.js/issues/5307

В HTML:

<a href="" ng-click="showOffCanvas = false; goTo('#/page2')">Link</a>

В контроллере:

$scope.goTo = function(refer){
    $location.path(refer)
};
Другие вопросы по тегам