Как удаление биографии навигации в ionic framework

Привет у сообщества было сомнение относительно использования $ionicHistory, который делает часть расширения Navigation расширения язык сценариев JavaScript / угловой.

Я хотел бы знать, как избегать возвращаться, когда этот в одном из двух меню, в зависимости от списка пользователя, которого он находит вошедшим.

estructura de la app

Я хотел бы решить следующие тревоги

  1. Только смоги выходить на кнопку назад, если вид не вид меню (будьте студент или преподавателем)
  2. В случае android, существует кнопка назад, будьте физическим или цифровым, если он находится в виде, или сдержись любого из двух меню, тогда, дав назад, будь должен выходить из приложения
  3. Избегать того, чтобы он сохранял маршруты или совещания в этой биографии, чтобы предотвращать конфликты в будущем.

3
задан 14.03.2016, 22:53
1 ответ

Твоя проблема может быть решенной используя метод clearHistory() услуги $ionicHistory так в твоем controller увиденной студентки или преподавателе ты можешь звонить в этот метод и это избежит того, чтобы смогли переходить с одного сайта на другой назад, так как этот метод удаляет биографию, кроме, настоящий вид (поэтому необходимо, чтобы ты это сделал в виде студента или преподавателя).

...
.controller('EstudianteCtrl', function($ionicHistory) {
    ...
    $ionicHistory.clearHistory();
});

Также ты можешь использовать метод nextViewOptions() и desabilitar кнопка назад, таким образом,

 $ionicHistory.nextViewOptions({
     disableBack: true // Esto pone en `null` la vista anterior
 });

Но это ты должен делать это с предыдущего вида (Вид "грузя"), так как он посвящает себя к предстоящему виду тому, чтобы показать это ей перед transicionar.

В конце концов чтобы способствовать тому, чтобы твое приложение вышло, нажав на кнопку back, ты должен использовать услугу $ionicPlatform используя onHardwareBackButton но ты углубляешься невнимательно в проблему:

  1. Если ты выходишь из твоего приложения, сделав back, ты подвергаешься риску, что твои пользователи вышли из приложения, не хотя этого, прежде всего, если у тебя есть много совещаний в глубине в твоей навигации. Назад..., Назад..., Назад..., Выходить... Ups!!!
  2. Большинство подвижных приложений осуществляет способ выходить, прибыв ввиду home используя кнопку back, что превратилось практически в стандарт.
  3. Ты хочешь поддержать пользователей внутри твоего приложения и не вне ее ;)

Решение, что я вижу его, в это состоит в том, чтобы использовать две пульсации back вместо одной показывая toast с сообщением со что-то подобное "Нажмите снова, чтобы выходить"

toast ты можешь устанавливать это с plugin, который ты можешь находить в https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin используя

cordova plugin add cordova-plugin-x-toast

Потом в событии platformReady ты устанавливаешь событие (чтобы убеждаться в, который plugin загрузил)

$ionicPlatform.ready(function () {
    var closeApp = false;
    $ionicPlatform.onHardwareBackButton(function () {
            if ($state.is('mivistaraiz')) {
                if (closeApp === true) {
                    navigator.app.exitApp();
                }
                else {
                    closeApp = true;
                    $timeout(function () {
                        closeApp = false;
                    }, 2000);
                    notifications.notify("Presione nuevamente para salir", "short", "bottom");
                }
            }
        });
});

Ты можешь менять timeout для того, чтобы это было больше но главным образом тем, что он делает, он состоит в том, чтобы получаться, нажимают ли back в интервале 2 секунд, а вновь показывают toast, предотвращая, так что твои пользователи вышли из приложения из-за происшествия.

2
ответ дан 24.11.2019, 14:44
  • 1
    Ok, спасибо, попытается, и я буду комментировать тебе, что такой он я пошел – Pedro Miguel Pimienta Morales 11.03.2016, 20:19
  • 2
    @PedroMiguelPimientaMorales Проверь мой update. Я был должен отлучаться момент и не смог печатать мой полный ответ единственного раза, но ах и # 237; у тебя есть она я надеюсь, что он подает тебя. – devconcept 11.03.2016, 20:26
  • 3
    ok, спасибо, извини я задал этот вопрос она снова, но никто не дал мне ответ, я оставляю это тебе где-то здесь не, если ты знал, что он мог бы вызывать тот факт, что не вышли стили используя flexbox es.stackoverflow.com/questions/5497/… – Pedro Miguel Pimienta Morales 11.03.2016, 20:36
  • 4
    @PedroMiguelPimientaMorales то, что он перемещает с этим вопросом, то же самое, что и он происходит с этой. Когда ты задаешь вопрос, ты должен помещать c и # 243; я говорю значимо, так как сообщество первое, что он пробует, состоит в том, чтобы воспроизводить твою ошибку; если ты только включаешь фотографии, это уже не является возможным. Прочитай, что это emcv или mvce в ingl и # 233; s . Именно поэтому у вопроса есть столько обетов завершения. Ты говоришь, что у тебя есть ошибки, но ты не показываешь, которые. Я думаю, что это первый шаг, чтобы получать помощь. Этот вопрос имей и # 237; в soluci и # 243; n препятствуй поэтому тебе повезло больше. Привет. – devconcept 11.03.2016, 21:03
  • 5
    издайте вопрос, если ты можешь бросать глаз в c и # 243; я говорю, что я поместил, он тебе был бы благодарен за это – Pedro Miguel Pimienta Morales 14.03.2016, 06:25