[dcloudio/uni-app]Vue3项目输出defineProps的值,编译到两个端的实际效果不一致

2023-12-14 985 views
7

复现步骤 [复现问题的步骤] 子组件内容如下

<template>  
  <view>  
    {{props}}  
    {{name}}  
  </view>  
</template>
<script setup>  
  const emit = defineEmits([])  
  const props = defineProps({  
    title: {  
      type: String,  
      default: ''  
    },  
    name: {  
      type: String,  
      default: ''  
    }  
  })  
</script>

父组件引用子组件:

<boxChild  
     class="box_view"  
     v-bind="{  
      title: 'Vue',  
      name: '---'  
     }"  
>  
    </boxChild>

使用hbuildx创建的项目,使用上面的代码,编译到小程序props变量直接不能渲染,但是console.log输出是有数据的,就是不能在tamplate模板渲染,只能直接渲染里面的属性title、name,但是同样的代码编译到h5就是完全正常。 image 另外我用cli创建的项目,同样的代码,vue版本3.2.37,编译到小程序渲染正常 image

[或者可以直接贴源代码]

预期结果 小程序跟h5渲染效果一致

实际结果 小程序渲染异常

系统信息: 产品分类: uniapp/小程序/微信

PC开发环境操作系统: WindowsPC
开发环境操作系统版本号: windows10 18363.1556
HBuilderX类型: Alpha
HBuilderX版本号: 3.4.17
第三方开发者工具版本号: 1.05.2204250
基础库版本号: 2.24.6
项目创建方式: HBuilderX

回答

4

更新最新的3.5.0,测试没有问题

7

@fxy060608 请问这是hbuild x内部的依赖还没更新,但是cli创建的项目是最新的,是这个问题导致不一致吗?

3

通常最新的 cli 会和 最新的 HBuilderX 保持一致,但部分情况下 cli 会比 HBuilderX 更新,

1

@fxy060608 好的,了解,再问下cli项目升级依赖的方法是直接npm update吗?还是需要到npm上找到对应包的最新版本再npm i xxx@2.2.2 -D 这样更新呢,找了官网是说只能安装对应的依赖包。