Alih keluar item pertanyaan daripada penghala
P粉005134685
P粉005134685 2023-08-25 22:53:17
0
1
548
<p>Saya menggunakan kaedah <code>replace</code> dalam Vue untuk menambah <code>query</code> Jika nilai itu tidak wujud, saya tetapkan ia sebagai <code>undefined</code>. </p> <pre class="brush:js;toolbar:false;">this.$router.replace({ nama: "admin-frs", pertanyaan: { had: this.pageSize, halaman: this.currentPage, sort: this.sortbyapi ||. bahasa: this.sortbyapiLang ||. }, }) </pra> <p>Ini akan menyebabkan item pertanyaan hilang daripada URL apabila data pertanyaan dikemas kini, yang boleh diterima. </p> <p>Tetapi ia tidak mengeluarkannya daripada objek pertanyaan. </p> <p>Adakah ada cara yang lebih baik daripada ini? </p> <p>Selain itu, adakah mungkin untuk mendapatkan item pertanyaan daripada laluan, seperti <code>&limit=10...etc</code>? </p>
P粉005134685
P粉005134685

membalas semua(1)
P粉982009874

Jika saya faham dengan betul, OP mahu operasi itu dihantar ke objek pertanyaan router.replace. Boleh dilaksanakan menggunakan js standard.

Pertama, namakan pembolehubah pertanyaan secara eksplisit...

let query = $router.query;

Untuk memadamkan atribut, anda boleh menggunakan operator padam js. Contohnya, untuk mengalih keluar query.limit...

// 删除limit属性
if (!this.pageSize) delete query.limit;

Sebagai alternatif, jika anda membina pertanyaan ini, anda tidak boleh menambah atribut had di tempat pertama...

let query = {};
if (this.pageSize) query.limit = this.pageSize;
if (this.currentPage) query.page = this.currentPage;
// 其他属性也是类似的处理
// query现在只包含上述选择的属性

Selepas melakukan mana-mana operasi ini, hantarkan pembolehubah ke penghala...

$router.replace({ name: "admin-frs", query });

Untuk menukarnya kepada rentetan, mungkin terdapat beberapa cara, termasuk daripada banyak perpustakaan yang mungkin anda miliki, tetapi cara aslinya ialah...

let params = [];
for (let key in query)
  params.push(`${encodeURIComponent(key)}=${encodeURIComponent(query[key])}`);
const queryString = params.join("&");
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan