JasonZhao
JasonZhao
  • 发布:2023-08-29 16:32
  • 更新:2023-08-30 14:59
  • 阅读:320

uni.$on页面通讯回调函数更新vue3的ref定义的值,页面上的值没有更新

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window11

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

浏览器平台: Chrome

浏览器版本: 116.0.5845.111

项目创建方式: HBuilderX

操作步骤:

先navigator到index2触发uni.$on监听,在返回index页面输入数字触发uni.$emit,index2的template模板的值没重新渲染。

预期结果:

test的值会随之更新重新渲染在页面上

实际结果:

test的值会随之更新不会重新渲染在页面上

bug描述:

两个组件之间使用:

// A组件  
// 输入框输入会触发  
uni.$emit('test', e.detail.value)  
// B组件  
<template>  
<view>{{test}}</view>  
</template>  
<script setup>  
import {  
        ref  
    } from 'vue'  
const test = ref(null)  
uni.$on('test',val=>{  
console.log(val)  
test.value = val  
})  
</script>

页面上的值没有重新渲染,test失去响应性

2023-08-29 16:32 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

同样写法 我的可以触发哎 你能发一个可以复现这个问题的demo吗?

  • JasonZhao (作者)

    第二条评论有demo

    2023-08-30 14:59

  • JasonZhao (作者)

    问题底部也有demo

    2023-08-30 15:04

JasonZhao

JasonZhao (作者)

先navigator到index2触发uni.$on监听,在返回index页面输入数字触发uni.$emit,index2的template模板的值没重新渲染。

要回复问题请先登录注册