Ионная диплинк показывает пустую страницу до нажатия на диплинк / страницу - PullRequest
0 голосов
/ 31 января 2019

Я использую ионные глубокие ссылки.У меня есть служба, в которой я инициализирую функцию Deeplink, например:

 initDeepLink(nav: Nav) {
  this.deeplinks.routeWithNavController(nav, {
        '/page1/ PageComponent1,
    })
 }...

. Я вызываю эту функцию в моем основном app.component.ts, внутри функции onAllReady(), из службы с помощью:

this.calldeepLinkServ.initDeepLink(this.nav);

где this.nav имеет тип:

@ViewChild(Nav) nav: Nav;

, объявленный в app.component.ts

Когда я захожу на глубокую ссылку на моем устройстве, она работает нормально и переходит кзаданной страницы (PageComponent1), но перед ней всегда есть пустая страница, а затем переходы типа переходов и нажатия на страницу с глубокими ссылками.

Она никогда не выдвигает (скользит справа) новую страницу в верхней частитекущий открыт в моем приложении.Я пытался поместить @ViewChild(Nav) nav: Nav в сервис Deeplink, а не app.component.ts, но он действует так же.

Я также попытался проверить, есть ли способ отключить принудительное нажатие на исходную страницу в this.deeplinks.routeWithNavController(), но у него нет подобных свойств (например, animate: false, например, который доступен для NavController),

Так что я действительно не уверен, как предотвратить этот плохой опыт навигации с глубокими ссылками, я уверен, что это не типичный переход для ионных глубоких ссылок, он выглядит плохо для пользовательского интерфейса.

1 Ответ

0 голосов
/ 01 февраля 2019

Итак, я разобрался с этим, вместо этого:

this.deeplinks.routeWithNavController

Я использую:

 this.deeplinks.route

, а затем я проверяю, что передается внутри матча. $ Link,Таким образом, в зависимости от запроса, отправляемого через

if (match.$link['path'].indexOf('/page1/') !== -1) {...}

, я вызываю навигационный push с помощью animate: false, и он не использует стандартную анимацию push-навигации.

...