uniapp中如何传递对象类型的参数

37人浏览 / 0人评论 / 添加收藏

最近在做一个微信小程序的项目,用的是uniapp开发的,界面跳转的时候涉及到传参。简单单个参数好传,那如何传递对象参数呢?接下来小编将进行一个简单的介绍。


1、字符串拼接,传递单个属性值


index页面传递:
data(){
   return{
       companyOrgId:1
   }
}

methods:{
   goRegister() {
       uni.navigateTo({
       url: `./registerDetail?companyOrgId=${this.companyOrgId}`
       });
   },
}
home页面接收:
1. onLoad(options) {
2.  this.info.companyOrgId = options.companyOrgId;
3. console.log(options.companyOrgId);
4. },


2、整个对象的传递


index页面传递:
data(){
   return{
          info: {
               companyOrgId: '',
               sex: 0,
               surname: '',
               firstname: '',
               email: '',
               phone: '',
               phoneAreaCode: '+852',
               password: '',
               passwordTwo: '',
               birthYear: 'YY',
               birthMonth: 'MM',
               birthDay: 'DD'
           },
   }
}

methods:{

   goRegisterCode() {
           console.log('info', this.info);
           uni.navigateTo({
               url: './registerCode?info=' + encodeURIComponent(JSON.stringify(this.info))
           });
       },
}
home页面接收:
onLoad(options){
   let userInfo = JSON.parse(decodeURIComponent(options.info));
   console.log('userInfo', userInfo);
}


3、多个对象的传递


index页面传递:
uni.navigateTo({ 
   url: '/pages/setSeal/index?seal=' + encodeURIComponent(JSON.stringify(seal)) + '&cStorageModel' + encodeURIComponent(JSON.stringify(cStorageModel)) 
});
home页面接收:
onLoad(option){
   this.pageModel.sealAuth = JSON.parse(decodeURIComponent(option.sealAuth));
   this.pageModel.cStorageModel = JSON.parse(decodeURIComponent(option.cStorageModel));
 }

全部评论