一号优惠经验分享网
51福利网的各种薅羊毛福利经验笔记

vue页面之间怎么传递参数缓存,

vue页面之间怎么传递参数缓存,比如我要将1.vue获得的uuid 传递到2.vue中,让2.vue里面程序获取到这个uuid.页面跳转用的是@click=”navigateToPage2“ navigateToPage2() { uni.navigateTo({ url: ‘/pages/2/2’ , }); },

在Vue或Uni-app框架中,当你需要在页面之间传递参数(如UUID)时,你可以通过URL的查询参数(query parameters)来实现。这种方式简单且常用,特别是在使用uni.navigateTo进行页面跳转时。

51福利网

以下是如何将1.vue中获得的UUID传递到2.vue中的步骤:

1.vue中生成或获取UUID,并通过URL参数传递给2.vue

<template>  
  <!-- 假设你有一个按钮用于跳转到2.vue -->  
  <button @click="navigateToPage2">跳转到2.vue</button>  
</template>  

<script>  
export default {  
  data() {  
    return {  
      uuid: 'your-generated-uuid-here' // 这里应该是你实际生成的UUID  
    };  
  },  
  methods: {  
    navigateToPage2() {  
      // 将uuid作为查询参数添加到URL中  
      uni.navigateTo({  
        url: `/pages/2/2?uuid=${this.uuid}`  
      });  
    }  
  }  
};  
</script>

2.vue中接收并处理UUID

<template>  
  <div>  
    <!-- 你可以在这里显示或使用uuid -->  
    <p>接收到的UUID: {{ uuid }}</p>  
  </div>  
</template>  

<script>  
export default {  
  data() {  
    return {  
      uuid: ''  
    };  
  },  
  onLoad(options) {  
    // options参数包含了页面跳转时传递的查询参数  
    if (options.uuid) {  
      this.uuid = options.uuid;  
    }  
  }  
};  
</script>

如果试图在<web-view>标签的src属性中直接使用{uuid}来进行数据绑定

,但这种方式在原生HTML或Vue的<web-view>组件中并不支持。<web-view>通常用于嵌入外部网页,并且其src属性需要一个完整的URL字符串。

要在<web-view>中使用动态URL,您需要在Vue的data函数中定义完整的URL,并在onLoad方法中更新它(如果uuid是从页面跳转时获取的)。但是,由于<web-view>src属性在组件加载时就已经确定,并且之后不能通过Vue的数据绑定来更新,您需要在组件创建之前或mounted生命周期钩子中设置它。

不过,有一个问题:在Vue组件中,<web-view>src属性通常是在组件加载时设置的,并且由于安全限制,一旦设置后就不能更改(这取决于您使用的框架或平台的具体实现)。因此,您需要在组件加载之前就知道uuid的值。

如果您的deviceId是在页面加载时从URL参数中获取的,您可以尝试在createdmounted生命周期钩子中设置<web-view>src属性,但请注意,这可能不起作用,因为<web-view>可能不支持动态更新src

一个可能的解决方案是使用条件渲染:

<template>  
  <view>  
    <web-view v-if="webViewSrc" :src="webViewSrc"></web-view>  
  </view>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      uuid: '',  
      webViewSrc: '' // 用于存储完整的URL  
    };  
  },  
  onLoad(options) {  
    if (options.uuid) {  
      this.deviceId = options.uuid;  
      this.webViewSrc = `https://www.你的网址.com?uuid=${encodeURIComponent(this.uuid)}`;  
    } else {  
      console.error('未接收到deviceId参数');  
      // 可以设置一个默认的URL或者不显示<web-view>  
      // this.webViewSrc = 'https://www.你的网址.com'; // 如果需要默认URL的话  
    }  
  },  
  // 注意:如果<web-view>的src在mounted之后仍然不能更新,  
  // 那么您可能需要考虑其他方法,比如使用平台特定的API来加载网页。  
  // 在某些情况下,您可能需要先显示一个加载页面,然后在获取到uuid后  
  // 使用JavaScript或平台特定的方法(如uni.redirectTo)来跳转到包含正确URL的<web-view>页面。  
};  
</script>  
  
<style scoped>  
/* 样式部分 */  
</style>

一号优惠 · 51福利网薅羊毛福利具有时效性,如已失效,请留言
文章名称:《vue页面之间怎么传递参数缓存,》-一号优惠 · 51福利网
免责申明:本站所有活动信息均来自网络,如有失效、违规、不实或侵权,请联系我们删除。谢谢

评论 抢沙发

一号优惠经验分享网最新最全薅羊毛,现金红包线报网

一号优惠经验分享网提供每日最新内部优惠,薅羊毛活动,现金红包领取,免费福利和网赚福利手机赚钱线报,打造中国最受欢迎的网赚信息发布平台!51福利网

51联盟线报群赚钱·合作·帮助

登录

找回密码

注册