質問が1年以上前のものであるため、これがまだ役立つかどうかはわかりませんが、最近まったく同じ問題に遭遇しました. ngTouch に関する既知のバグがあるようです。( https://github.com/angular/angular.js/issues/5307 )
私のために働いた解決策は次のとおりです。
ng-touch ファイル (angular-touch.js) の内容を、ここにあるファイルに置き換えます。(この手順は必要ない人もいるかもしれませんが、私にとっては何らかの理由で必要でした。)
次に、ファイルに移動して、次の行を変更します。
ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement',
function($parse, $timeout, $rootElement) {
に :
ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', '$location',
function($parse, $timeout, $rootElement, $location) {
次に、この部分を見つけます:
if (!angular.isDefined(attr.disabled) || attr.disabled === false) {
element.triggerHandler('click', [event]);
}
そして、そのすぐ下に if を次のように追加します。
if (!angular.isDefined(attr.disabled) || attr.disabled === false) {
element.triggerHandler('click', [event]);
}
if the element has an href attribute, ensure that the url gets updated.
if (attr.href && angular.isString(attr.href)) {
$location.url(attr.href);
}
href の使用をやめて、手動で hrefs を location.go() 関数に変更することもできますが、このソリューションはそれを行います。