Perutean saya di aplikasi angular2 berfungsi dengan baik. Tetapi saya akan membuat beberapa routeLink berdasarkan ini :
Ini perutean saya:
const routes: RouterConfig = [
{ path:'home' , component: FormComponent },
{ path:'about', component: AboutComponent },
{ path:'**' , component: FormComponent }
];
Dan inilah link yang saya buat:
<ul class="nav navbar-nav item">
<li>
<a routerLink='/home' routerLinkActive="active">Home</a>
</li>
<li>
<a routerLink='/about' routerLinkActive="active">About this</a>
</li>
</ul>
Saya berharap bahwa, ketika saya mengkliknya, itu menavigasi ke komponen yang dihormati, tetapi mereka tidak melakukan apa-apa?
[routerLink]='[/home']
? Versi Angular2 dan versi router apa yang Anda gunakan?[routerLink]="['/home']"
directives: [ROUTER_DIRECTIVES],
metadata komponen Anda. Tanpa itu, Angular tidak akan tahu untuk mengurairouterLink
s.Jawaban:
Kode yang Anda tunjukkan di sana benar-benar benar.
Saya menduga bahwa masalah Anda adalah Anda tidak mengimpor RouterModule (di mana RouterLink dideklarasikan) ke dalam modul yang menggunakan template ini.
Saya memiliki masalah serupa dan perlu beberapa waktu untuk menyelesaikannya karena langkah ini tidak disebutkan dalam dokumentasi.
Jadi pergi ke modul yang mendeklarasikan komponen dengan template ini dan tambahkan:
lalu tambahkan ke modul impor Anda misalnya
Seiring dengan memiliki pernyataan impor yang benar, Anda juga memerlukan tempat untuk menampilkan routerLink, yang ada di dalam
<router-outlet></router-outlet>
elemen, sehingga juga perlu ditempatkan di suatu tempat di markup HTML Anda sehingga router tahu di mana harus menampilkan data itu.sumber
jangan lupa ini untuk menambahkan ini di bawah ini di template Anda:
sumber
Coba ubah tautan seperti di bawah ini:
Selain itu, tambahkan yang berikut ini di header index.html:
<base href="https://stackoverflow.com/">
sumber
gunakan seperti ini untuk info lebih lanjut membaca topik ini
sumber
routerLink
seharusnya dia bekerja ;-)"@angular/router": "~3.4.0"
. Bersulang!Saya sadar pertanyaan ini sudah cukup lama sekarang, dan kemungkinan besar Anda sudah memperbaikinya sekarang, tetapi saya ingin memposting di sini sebagai referensi bagi siapa pun yang menemukan posting ini saat memecahkan masalah ini adalah bahwa hal semacam ini menang Tidak berfungsi jika tag Anchor Anda ada di Index.html. Ini harus ada di salah satu komponen
sumber
Tautannya salah, Anda harus melakukan ini:
Anda bisa membaca tutorial ini
sumber
Saya menggunakan routerlink daripada routerLink .
sumber
Bagi siapa pun yang mengalami kesalahan ini setelah memisahkan modul, periksa rute Anda, hal berikut terjadi pada saya:
public-routing.module.ts:
app-routing.module.ts:
Pindah
{ path: '**', redirectTo: 'home' }
ke AppRoutingModule Anda:public-routing.module.ts:
app-routing.module.ts:
sumber
Ada juga kasus lain yang sesuai dengan situasi ini. Jika di interseptor Anda, Anda membuatnya mengembalikan nilai non Boolean, hasil akhirnya seperti itu.
Misalnya, saya mencoba mengembalikan
obj && obj[key]
barang. Setelah debugging beberapa saat, kemudian saya menyadari bahwa saya harus mengubahnya menjadi tipe Boolean secara manual sepertiBoolean(obj && obj[key])
agar klik bisa lewat.sumber
Mengikuti contoh kerja , saya telah menemukan solusi untuk kasus komponen murni:
sumber
Karena mata yang tidak terlalu tajam seperti milik saya, saya
href
malahrouterLink
melakukan beberapa pencarian untuk mencari tahu #facepalm.sumber