Я установил значение on-tap
div
, чтобы открыть модальное значение, определенное в контроллере страницы. div
является частью раздела ng-repeat
. Модальная функция также принимает некоторые переменные, переданные ей div
.Ionicmodal не открывается до третьего щелчка/касания
Когда приложение впервые запускается на моем устройстве (iPhone 6, работающем под управлением iOS 7), я должен нажать три раза до того, как модальный откроется. После этого он открывается последовательно, когда я касаюсь. Но когда приложение начинается, я должен нажать div 3 раза.
В консоли нет никаких ошибок. Как только модальная функция откроется, она работает так, как ожидалось.
Любые советы?
Вот код:
HTML
<div on-tap="doModal('{{embed.ID}}','reply','{{embed.oembed}}','{{embed.user}}');">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 75 72" width="100" height="50">
<path d="imagestuffhere"/>
</svg>
</div>
CONTROLLER
$scope.doModal = function(this_ID,modaltype,this_oembed,this_user) {
$scope.contact = {
name: this_ID,
info: modaltype,
oembed: this_oembed,
user: this_user
}
if (modaltype == 'repost') {
$scope.modaltempl = 'templates/repost-modal.html';
}
else if (modaltype == 'reply') {
$scope.modaltempl = 'templates/reply-modal.html';
}
else if (modaltype == 'like') {
$scope.modaltempl = 'templates/like-modal.html';
}
else {
$scope.modaltempl = 'templates/like-modal.html';
}
$ionicModal.fromTemplateUrl($scope.modaltempl, {
scope: $scope,
animation: 'slide-in-up'
}).then(function (modal) {
$scope.modal = modal;
$scope.modal.show();
console.log($scope.modaltempl);
});
};
$scope.closeModal = function() {
$scope.modal.hide();
};
$scope.$on('$destroy', function() {
$scope.modal.remove();
});
Я попытался потянув $ionicModal.fromTemplateUrl($scope.modaltempl,
немного за пределами $scope.doModal
и вызова $scope.modal.show
изнутри $scope.doModal
, но результат тоже самое.
Он определенно подходит к заявлению scope.modal.show();
, даже если модальный не открывается, потому что console.log
я включил сразу после его выхода.
Прежде чем я добавил svg к интерфейсу, я тестировал это с помощью элемента button
и имел ту же проблему. У него также была та же проблема, когда я использовал ng-click
вместо on-tap
.
Спасибо за помощь!