Mengubah href dasar pada navigasi sudut

Saat membangun aplikasi sudut menggunakan ng build, saya telah menyediakan tanda --base-href untuk aplikasi saya sebagai foo. Jadi URL aplikasi saya terlihat seperti https://10.10.10.19:8080/foo. Namun saya ingin menavigasi ke halaman yang memiliki bilah di URL, yaitu https://10.10.10.19:8080/bar.

Saya mencoba router.navigateByUrl('/bar') tetapi menghasilkan URL https://10.10.10.19:8080/foo/bar bukan itu yang saya cari.

Dapatkah seseorang membantu saya dengan apa yang hilang atau salah di sini?


person Naman Arora    schedule 05.12.2018    source sumber
comment
tunjukkan kodemu   -  person ram12393    schedule 05.12.2018
comment
Untuk lebih spesifiknya, tunjukkan kepada kami file perutean Anda. Dan coba juga ubah baseHref=/di index.html   -  person KiraAG    schedule 05.12.2018
comment
menyiapkan basis untuk aplikasi Anda dijelaskan dalam artikel yang telah saya terbitkan, saya harap ini akan membantu Anda: joeljoseph.net/   -  person Joel Joseph    schedule 05.12.2018


Jawaban (3)


Tidak yakin setelah dibangun tetapi selama pengembangan saya menggunakan kode berikut dan ini berfungsi untuk saya..

this.router.navigate(['../bar'], { relativeTo: this.route });
person R. Viral    schedule 05.12.2018
comment
Apa rute ini di sini? Apakah ini instance ActivatedRoute yang Anda bicarakan? - person Naman Arora; 05.12.2018
comment
Saya saat ini berada di lokasi URL 10.10.10.19:8080/foo/a1 dan ingin bernavigasi ke 10.10.10.19:8080/bar/b2. Dengan apa yang Anda sarankan, saya mencoba hal yang sama dengan this.router.navigate(['../../bar/b1'], { relativeTo: this.route }); Tetapi hal yang sama gagal dengan nomor '../' yang tidak valid. Ada pemikiran tentang ini? - person Naman Arora; 05.12.2018

Pada dasarnya Anda ingin href dasar Anda disetel secara dinamis karena Anda tidak dapat menghapus hanya href dasar (AFAIK).

Impor base_HREF di main.ts

import { APP_BASE_HREF } from '@angular/common';

dan atur penyedia Anda seperti di bawah ini

providers: [
    {
        provide: APP_BASE_HREF,
        useValue: '/' + (window.location.pathname.split('/')[1] || '')
    }
]

kredit ke tautan ini : tautan ini dapat berguna: Angular 2/4 / 5 - Tetapkan href dasar secara dinamis

person T. Shashwat    schedule 05.12.2018

Hal ini dapat dicapai melalui injeksi ketergantungan atau melalui httpInterceptors.

Saya harap tautan di bawah ini akan membantu pertanyaan Anda. http://www.projectcodify.com/angular-set-base-url-dynamically

person Padmapriya Vishnuvardhan    schedule 05.12.2018