Я пытаюсь выполнить следующую настройку в своем приложении Ionic (3.9.2), используя Ionic 2 DeepLinker, где у меня есть обычные версии моих страниц по адресу index.html, / term и / card и в другом стиле версии в /club/index.html, / club / Terms и / club / card:
@NgModule({
declarations: MyComponents,
imports: [
BrowserModule,
HttpClientModule,
// DeepLinker!!
IonicModule.forRoot(MyApp, { locationStrategy : 'path' }, {
<br>
links : [
<br>
{ component : HomePage, name : 'Home', segment : '' },
<br>
{ component : TermsPage, name : 'Terms of Use', segment : 'terms' },
<br>
{ component : CardPage, name : 'Savings Card', segment : 'card' },
// Club Aliases; these pages will have the same content as above,
// but slightly different styles, defined elsewhere.
{ component : HomePage, name : 'Home', segment : 'club' }
<br>
{ component : TermsPage, name : 'Terms of Use', segment : 'club/terms' },
<br>
{ component : CardPage, name : 'Savings Card', segment : 'club/card' },
//...
Есть ли способ добиться этого с помощью Ionic 2 DeepLinker ?
Некоторые заметки:
Мы перемещаемся по страницам, следуя ссылкам (и предотвращая по умолчанию):
<a href="/terms" (click)="openPage('TermsPage', $event)">Terms of Use</a>
, где openPage
помещает страницу в стек навигации, используя Nav Component NavController , например:
$event.preventDefault();
this.nav.push(page.component, params);
Нам также пришлось настроить наш веб-сервер для перезаписи подкаталогов (например, «/ term») в index.html. Информация: https://github.com/ionic-team/ionic/issues/10565#issuecomment-282659179
И я также разбудил @ ionic-app-scripts, чтобы заставить этот (переписать на index.html) работать на моем локальном сервере разработки (например, live reload):
https://github.com/senseijames/ionic-app-scripts