un-app uni.navigateTo页面跳转做封装传参
生活随笔
收集整理的這篇文章主要介紹了
un-app uni.navigateTo页面跳转做封装传参
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
uni-app在頁面跳轉的時候是可以傳參的,官方給的方法就是在路由后拼接傳參地址
uni.navigateTo(OBJECT)
保留當前頁面,跳轉到應用內的某個頁面,使用uni.navigateBack可以返回到原頁面。
OBJECT參數說明
| url | String | 是 | ? | 需要跳轉的應用內非 tabBar 的頁面的路徑 , 路徑后可以帶參數。參數與路徑之間使用?分隔,參數鍵與參數值用=相連,不同參數用&分隔;如 'path?key=value&key2=value2',path為下一個頁面的路徑,下一個頁面的onLoad函數可得到傳遞的參數 | :- |
| animationType | String | 否 | pop-in | 窗口顯示的動畫效果,詳見:窗口動畫 | 5+App |
| animationDuration | Number | 否 | 300 | 窗口動畫持續時間,單位為 ms | 5+App |
| success | Function | 否 | ? | 接口調用成功的回調函數 | ? |
| fail | Function | 否 | ? | 接口調用失敗的回調函數 | ? |
| complete | Function | 否 | ? | 接口調用結束的回調函數(調用成功、失敗都會執行) | ? |
示例
//在起始頁面跳轉到test.vue頁面并傳遞參數 uni.navigateTo({url: 'test?id=1&name=uniapp' }); 對于做開發的這種傳參不太習慣,還是習慣了用一個字典作為傳參數據下面對uni.navigateTo做一下封裝并帶參數封裝
首先單獨寫一個js文件用來封裝頁面跳轉(注意:動畫那些沒有寫進來,如果想要可以自己加)
navTo.js
const togo = function(url,data){url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)uni.navigateTo({ url}) }exprot function param(data) {let url = ''for (var k in data) {let value = data[k] !== undefined ? data[k] : ''url += '&' + k + '=' + encodeURIComponent(value)}return url ? url.substring(1) : '' }exprot {togo}然后在main.js中注冊全局變量
import * as navTo from '@/assets/navTo' Vue.prototype.$navTo = navTo最后調用(在vue頁面)
<view @click="$navTo.togo('/pages/index/index',{type:1,name:'YanGo'})"></view>或者在methods鉤子也可以
methods: {to(){let url = '/pages/index/index'let param = {type:1,name: 'YanGo'}this.$navTo.togo(url,param)} }?
總結
以上是生活随笔為你收集整理的un-app uni.navigateTo页面跳转做封装传参的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言超时错误,C语言题目运行得到超时错
- 下一篇: 考研心得--一个差劲的ACMer