Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk merangkum kaedah lompat dalam uniapp

Bagaimana untuk merangkum kaedah lompat dalam uniapp

PHPz
PHPzasal
2023-04-25 10:48:381177semak imbas

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);
}
  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'); // 跳转到个人中心页面
      }
    }
  }
}
  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封装跳转方法'
      });
    }
  }
}
  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))}`
  });
}
  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));
  }
}

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:
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