У меня есть приложение Ionic, которое обертывает определенное веб-приложение, которое использует угловые.
Там у меня есть такие кнопки:
<ion-view view-title="Orders">
<ion-content scroll="true" overflow-scroll="true">
<div class="row">
<!-- some other divs with text only -->
</div>
<div class="row">
<div class="col-xs-12">
<button type="button" ng-click="vm.go('orders.new')"
class="button btn btn-lg btn-info">new order</button>
</div>
</div>
</ion-content>
</ion-view>
Иногда метод vm.go()
не вызывается, когда я vm.go()
кнопку. В Chrome (браузере) и Android он всегда работает правильно. Даже если я открою страницу через обычный браузер Safari на iOS, все работает.
Таким образом, это проблема с ионной и/или кордовой.
Если я присоединю обработчик событий вручную (с помощью обычного JavaScript с помощью getElementById()
), чтобы кнопка обнаружила события касания или мыши, они запускаются, но ng-click
- нет. Если это произойдет, и метод кнопки не был правильно запущен, представление прокручивает/устанавливает вместо этого вид сверху.
Для меня это похоже на какое-то состояние гонки, так что иногда бывает правильное поведение (вызывается ng-click), а иногда и нет.
Использование Ionic 1.3.2 и cordova 6.0.0
Есть ли у кого-то идеи?
Существует один div, который блокирует щелчок с 330 мс,
В разделе "beforeenter" добавьте:
angular.element(document.getElementsByClassName('click-block')).addClass('click-block-hide');
С этим, wiev будет реагировать с самого начала.