Angular 8 Глубокая ссылка на форму отправки - PullRequest
0 голосов
/ 07 апреля 2020

Я просмотрел несколько постов о глубоких ссылках в Angular 8. Но не нашел лучшего решения для моей проблемы.

Требование к вероятности: введите описание изображения здесь

Пожалуйста, обратитесь к скриншоту выше. У меня есть простое Angular приложение с двумя виджетами Виджет формы и Виджет таблицы . Виджет таблицы управляется поиском, выполняемым в виджете формы. URL-адрес в браузере - «localhost / dashboard / widget / actionForm»

  1. Когда выполняется поиск формы. Я хочу, чтобы данные формы были частью URL-адреса, например "localhost / dashboard / widget / actionForm; Param_A = test1; Param_B = test2", а также виджет таблицы, который будет обновляться динамически

  2. Когда я копирую URL «localhost / dashboard / widget / actionForm; Param_A = test1; Param_B = test2» и запускаю его в новом браузере. Он должен иметь возможность использовать параметры в URL, чтобы вернуть состояние формы.

Это просто иллюстрация. В идеальном случае в форме будет много параметров.

Примечание. Параметры URL также необходимо кодировать. Но, думаю, решить эту простую проблему.

1 Ответ

0 голосов
/ 07 апреля 2020
  1. Существует ограничение на количество символов в URL, которое зависит от различных параметров. Вы можете проверить здесь

  2. При выполнении поиска эти параметры должны быть добавлены к URL:

       this.router.navigate([], {
            queryParams: {
                _t: param1,
                _t2: param2
            }
        });
    
  3. При перезагрузке с помощью url вы сможете использовать следующие параметры:

    this.route.queryParamMap.subscribe(params => {
        let t= params.get('_t');
        //.... so on
        pass this to table widget
    });
    
  4. Если ваши параметры намного длиннее ограничения символов и вы хотите поддерживать сеанс в одном браузере, вы всегда можете использовать локальное хранилище и хранилище сеансов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...