AngularJS $location.путь, работающий на рабочем столе, но не на мобильном устройстве

#angularjs #path #location

#angularjs #путь #Расположение

Вопрос:

У меня есть функция в AngularJS, которая использует $location.path . На моем настольном компьютере все работает нормально, однако, когда я попытался использовать его на своем iPhone или планшете Android, путь не меняется.

Я прочитал, чтобы включить $scope.apply() ; после $location.path , это не работает для меня. Кроме того, я включил два предупреждения, чтобы узнать, запущена ли функция. Срабатывают Alert: Test1 и Alert: Test2.

 app.controller('matchesCtrl', ["$scope", "$modal", "$filter", "$interval", "$translate", "Data", "$localStorage", "$location", function($scope, $modal, $filter, $interval, $translate, Data, $localStorage, $location) {
  $scope.BeginMatch = function(c) {
    alert('Test1');
    Data.put('match/umpire/'   $scope.$storage.id, $scope.$storage).then(function() {
      alert('Test2');
      window.navigator.vibrate(200);
      $location.path('match/warmup/'   $scope.$storage.id);
      $scope.$apply();
    });
  };
}]);
  

Путь должен быть изменен на match/warmup/"id" , но путь остается таким же, как и раньше.

Ответ №1:

Спустя более 4 часов я выяснил ошибку. window.navigator.vibrate(); не поддерживается браузерами на мобильных устройствах. Извините за неудобство.