uniapp vue3项目 页面之间传参
时间: 2025-05-02 15:13:10 浏览: 20
在uni-app结合Vue3开发项目时,页面之间的传参是一个常见的需求。以下是几种常用的传参方式:
### 1. URL 参数传递
这是最简单直接的方式之一,在跳转到新页面的时候通过URL携带参数。
```javascript
// 跳转并传值
uni.navigateTo({
url: '/pages/targetPage/targetPage?param1=value1¶m2=value2'
});
// 目标页面接收参数
onLoad(options) {
console.log('接收到的参数:', options);
}
```
### 2. 使用全局变量
对于一些非敏感信息并且在整个应用中都可能会使用的数据,可以考虑将其存储为全局变量来进行跨页共享。
```javascript
// 设置全局变量
Vue.prototype.$global = {};
this.$global.someData = 'some value';
// 其他组件获取该全局变量
console.log(this.$global.someData);
```
注意这种方式不适合大型复杂的应用程序,并且要注意清除不再需要的数据以节省内存空间。
### 3. Vuex 状态管理库 (推荐)
当应用程序变得越来越大、越来越复杂时,采用Vuex作为状态管理模式就显得尤为必要了。它提供了一种更结构化的方式来管理和维护所有这些分散的状态片段。
首先安装vuex依赖:
```shell
npm install vuex@next --save
```
然后创建store文件夹并在其中建立index.js初始化Store实例...
接着就可以很方便地在各个模块间存取公共数据而无需担心生命周期的问题啦!
示例如下:
```js
import { createStore } from "vuex";
export default createStore({
state: {
count: 0,
userInfo: null // 用户信息等其他常用属性...
},
mutations: {
increment(state){
state.count++;
}
}
})
```
最后别忘了修改main.js使之生效哦~
```js
import store from './store'
const app = createApp(App)
app.use(store)
...
```
现在你可以轻松地访问`$store.state.userInfo`来读取用户的信息,也可以提交更改请求如 `this.$store.commit("increment")`.
阅读全文
相关推荐


















