Rumah hujung hadapan web uni-app Bagaimana untuk merangkum kaedah lompat dalam uniapp

Bagaimana untuk merangkum kaedah lompat dalam uniapp

Apr 25, 2023 am 10:48 AM

Dalam proses membangunkan aplikasi uniapp, anda sering perlu melompat ke halaman yang berbeza, seperti memasuki halaman log masuk, halaman pusat peribadi, dsb. Untuk memudahkan pembangunan, kami boleh merangkum kaedah lompat untuk mengurus lompat halaman secara seragam Artikel ini akan memperkenalkan cara merangkum kaedah lompat dalam uniapp.

1. Kaedah lompat berkapsul

  1. Buat fail util.js baharu untuk menyimpan kaedah terkapsul dan tentukan kaedah bernama navigateTo dalam fail. Kaedah ini menerima dua parameter, parameter pertama ialah laluan halaman sasaran, dan parameter kedua ialah data yang perlu dilalui. Antaranya, parameter laluan diperlukan dan data adalah pilihan.
// util.js

export function navigateTo(url, data = {}) {
  uni.navigateTo({
    url: `${url}?${getObjectKeys(data)
      .map(key => `${key}=${data[key]}`)
      .join('&')}`
  });
}

function getObjectKeys(obj) {
  return Object.keys(obj);
}
Salin selepas log masuk
  1. Dalam kaedah ini, kami menggunakan getObjectKeys untuk mendapatkan semua nama kunci dalam objek data, dan kemudian menggunakan peta dan kaedah gabungan untuk menyambung pasangan nilai kunci ke dalam rentetan. Kami boleh memperkenalkan secara ringkas peta dan kaedah gabungan di sini:

Kaedah map() mencipta tatasusunan baharu, dan hasilnya ialah hasil yang dikembalikan selepas memanggil fungsi yang disediakan untuk setiap elemen dalam tatasusunan.

Kaedah join() menukarkan semua elemen dalam tatasusunan (jika ia adalah rentetan, keluarkan terus; jika ia tatasusunan atau objek, tukarkannya kepada rentetan) kepada rentetan, dan kemudian gabungkan rentetan menjadi satu rentetan. Dan anda boleh menentukan rentetan sebagai pemisah untuk memisahkan elemen dalam tatasusunan.

  1. Akhir sekali, kami mengeksport kaedah untuk digunakan oleh modul lain.

2. Gunakan kaedah lompat berkapsul

  1. Di mana anda perlu melompat ke halaman sasaran, panggil kaedah navigateTo yang dikapsulkan.
//index.vue

import { navigateTo } from '@/utils/util.js';

// 模拟获取用户登录状态
const isLogin = true;

export default {
  methods: {
    goLogin() {
      if (!isLogin) {
        navigateTo('/pages/login/login'); // 跳转到登录页面
      } else {
        navigateTo('/pages/personal/personal'); // 跳转到个人中心页面
      }
    }
  }
}
Salin selepas log masuk
  1. Dalam contoh di atas, kami menentukan sama ada pengguna log masuk berdasarkan nilai isLogin Jika tidak log masuk, ia akan melompat ke halaman log masuk masuk, ia akan melompat ke halaman pusat peribadi.

Pada ketika ini, kami telah berjaya merangkum kaedah lompat dan menggunakannya dalam komponen lain. Dengan cara ini, kita boleh mengelakkan kekeliruan kod yang disebabkan oleh logik lompat halaman yang kompleks dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

3. Pengoptimuman Kaedah

Walaupun kami telah merangkumkan kaedah lompat, ia tidak sempurna dan masih mempunyai beberapa kecacatan. Sebagai contoh, jika halaman sasaran perlu melepasi berbilang parameter, kami perlu menggabungkan parameter secara manual, yang lebih menyusahkan. Untuk menyelesaikan masalah ini, kami boleh mengoptimumkan kaedah pembungkusan.

  1. Hantar parameter ke dalam objek:
// index.vue

export default {
  methods: {
    goDetail() {
      navigateTo('/pages/detail/detail', {
        id: 123,
        name: 'uniapp封装跳转方法'
      });
    }
  }
}
Salin selepas log masuk
  1. Ubah suai kaedah navigateTo dan gunakan JSON.stringify() untuk menukar objek parameter menjadi json string , dan kodkannya dan hantar ke halaman sasaran sebagai nilai rentetan pertanyaan:
// util.js

export function navigateTo(url, data = {}) {
  uni.navigateTo({
    url: `${url}?data=${encodeURIComponent(JSON.stringify(data))}`
  });
}
Salin selepas log masuk
  1. Selepas halaman sasaran memperoleh parameter, gunakan JSON.parse() untuk menukarnya kepada objek js :
// detail.vue

export default {
  onLoad(options) {
    this.queryParams = JSON.parse(decodeURIComponent(options.data));
  }
}
Salin selepas log masuk

Pada ketika ini, kami telah mengoptimumkan kaedah lompatan untuk melepasi berbilang parameter dengan cepat dan mudah.

Ringkasnya, merangkum kaedah lompat bukan sahaja dapat meningkatkan kebolehbacaan dan kebolehselenggaraan kod, tetapi juga memudahkan lagi penulisan kod. Saya harap artikel ini dapat membantu anda mempelajari dan menggunakan uniapp dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk merangkum kaedah lompat dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Mar 27, 2025 pm 04:50 PM

Artikel ini membincangkan mengoptimumkan imej dalam UNIPP untuk prestasi web yang lebih baik melalui mampatan, reka bentuk responsif, pemuatan malas, caching, dan menggunakan format WEBP.

Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Mar 27, 2025 pm 04:47 PM

Lazy Loading Delers Non-kritikal Sumber untuk meningkatkan prestasi tapak, mengurangkan masa beban dan penggunaan data. Amalan utama termasuk mengutamakan kandungan kritikal dan menggunakan API yang cekap.

Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Mar 25, 2025 pm 02:31 PM

Artikel ini membincangkan menguruskan struktur data yang kompleks di UNIPP, yang memberi tumpuan kepada corak seperti Singleton, Observer, Kilang, dan Negeri, dan strategi untuk mengendalikan perubahan keadaan data menggunakan API VUEX dan VUE 3 API.

Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Mar 25, 2025 pm 02:20 PM

UNIPP menguruskan konfigurasi global melalui manifest.json dan gaya melalui app.vue atau app.scss, menggunakan uni.scss untuk pembolehubah dan campuran. Amalan terbaik termasuk menggunakan SCSS, gaya modular, dan reka bentuk responsif.

Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Mar 25, 2025 pm 02:23 PM

Ciri -ciri yang dikira oleh Uniapp, yang diperolehi dari Vue.js, meningkatkan pembangunan dengan menyediakan pengendalian data reaktif, boleh diguna semula, dan dioptimumkan. Mereka mengemas kini secara automatik apabila kebergantungan berubah, menawarkan manfaat prestasi dan memudahkan Co -Management Co

See all articles