<template>
<view>
watch监听:{{name}}
</view>
</template>
<script>
export default {
name: 'WatchDemoVirtual',
options: {
virtualHost: true
}
}
</script>
<script setup>
import {
watch
} from 'vue';
const props = defineProps({
name: {
type: String,
default: 'hello'
}
})
watch(() => props.name,
(val) => {
console.log(val)
}, {
deep: true
})
</script>
- 发布:2024-06-27 16:00
- 更新:2024-09-13 22:55
- 阅读:386
产品分类: uniapp/小程序/字节跳动
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows11
第三方开发者工具版本号: 4.2.5
基础库版本号: 3.24.0.5
项目创建方式: CLI
CLI版本号: 3.0.0-alpha-4020120240618002
示例代码:
操作步骤:
<template>
<view class="content">
在开启virtualHost时wtach无法正确监听
开启virtualHost:
<watch-demo-virtual :name='name' />
关闭virtualHost:
<watch-demo :name='name' />
<button type="primary" @click="updateName">修改name: {{name}}</button>
</view>
</template>
<script setup>
import WatchDemoVirtual from '../../components/watch-demo/watch-demo-virtual.vue';
import {
ref
} from 'vue';
const name = ref(0)
function updateName() {
name.value = name.value + 1
}
</script>
</script>
<template>
<view class="content">
在开启virtualHost时wtach无法正确监听
开启virtualHost:
<watch-demo-virtual :name='name' />
关闭virtualHost:
<watch-demo :name='name' />
<button type="primary" @click="updateName">修改name: {{name}}</button>
</view>
</template>
<script setup>
import WatchDemoVirtual from '../../components/watch-demo/watch-demo-virtual.vue';
import {
ref
} from 'vue';
const name = ref(0)
function updateName() {
name.value = name.value + 1
}
</script>
</script>
预期结果:
输出aaaaaaaaaa
输出aaaaaaaaaa
实际结果:
无返回 卡死
无返回 卡死
bug描述:
抖音小程,序vue3版本组件在setup中使用watch事件监听props变动,模拟器直接卡死,真机无反应;微信小程序正常
最佳回复
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
更新:
问题已经修复,你可以参考下面方式来参考。
这个提交后续会发版生效,在发版之前,你可以通过下面方式来使用修复后的代码。
解压下面压缩包,替换到 HBuilderX 或者 CLI 的 node_moduels 的下面目录
HBuilderX 安装目录: /Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-toutiao/dist
cli node_moduels 目录 node_modules/@dcloudio/uni-mp-toutiao/dist
感谢反馈,你这个演示项目哪里体现了开启 virtualHost?
依次点击三个 button,如何演示卡死,卡死是循环打印,还是无反应?
提供更多信息,有助于定位和解答你的问题。