Bagaimana saya bisa mengambil parameter kueri di Vue.js?
Misalnya http://somesite.com?test=yay
.
Tidak dapat menemukan cara untuk mengambil atau apakah saya perlu menggunakan JS murni atau pustaka untuk ini?
Bagaimana saya bisa mengambil parameter kueri di Vue.js?
Misalnya http://somesite.com?test=yay
.
Tidak dapat menemukan cara untuk mengambil atau apakah saya perlu menggunakan JS murni atau pustaka untuk ini?
Jawaban:
Menurut dokumen objek rute , Anda memiliki akses ke
$route
objek dari komponen Anda, yang mengekspos apa yang Anda butuhkan. Pada kasus inisumber
vue-router
daripada ini memang akan menjadi duplikat, karena dia perlu menggunakan metode JS standar.vue-router
tag dan menambahkannya.return next({ name: 'login', query:{param1: "foo" }, });
tidak bekerja. di dalam komponen login propparam1
tidak terdefinisi.Tanpa vue-route, bagi URL
Solusi lain https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search :
sumber
location.href
saatlocation.search
tersedia? developer.mozilla.org/en-US/docs/Web/API/... misalnyavar querypairs = window.location.search.substr(1).split('&');
Memisahkan pasangan nilai-nama kueri dengan '=' tidak akan selalu berfungsi karena Anda dapat memberikan parameter kueri yang dinamai tanpa nilai juga; mis?par1=15&par2
. Kode Anda sekarang akan memunculkan eksepsi pada par2 karena pemisahan dengan '=' akan menghasilkan tmp dengan hanya 1 elemen.undefined
kegetVars['par2']
.Jawaban yang lebih terperinci untuk membantu para pemula VueJS:
Dan kode itu sendiri:
sumber
<script src="https://unpkg.com/vue-router"></script>
new Vue({ router, ... })
bukan sintaks yang valid.Cara lain (dengan asumsi Anda menggunakan
vue-router
), adalah untuk memetakan param kueri ke prop di router Anda. Kemudian Anda dapat memperlakukannya seperti penyangga lain dalam kode komponen Anda. Misalnya, tambahkan rute ini;Kemudian di komponen Anda, Anda dapat menambahkan penyangga seperti biasa;
Maka akan tersedia
this.foo
dan Anda dapat melakukan apa pun yang Anda inginkan dengannya (seperti mengatur pengamat, dll.)sumber
Pada tanggal ini, cara yang benar sesuai dengan dokumen perutean dinamis adalah:
dari pada
sumber
query
untuk mendapatkan kueri dari URL. Dari dokumen: Selain $ route.params, objek $ route juga memaparkan informasi berguna lainnya seperti $ route.query (jika ada kueri di URL)url:
www.example.com?name=john&lastName=doe
Catatan: Dalam
beforeRouteEnter
fungsi kita tidak bisa mengakses properti komponen seperti:this.propertyName
.Itu ini mengapa saya harus lulusvm
untuknext
function.It adalah cara recommented untuk mengakses vue yang instance.Actually yangvm
berdiri misalnya vuesumber
Jika url Anda terlihat seperti ini:
Di mana '123' adalah parameter bernama 'id' (url like / something /: id), coba dengan:
sumber
Anda bisa mendapatkan Dengan Menggunakan fungsi ini.
sumber
Jika server Anda menggunakan php, Anda dapat melakukan ini:
Hanya bekerja.
sumber