bctop
bctop
  • 发布:2022-08-19 12:36
  • 更新:2022-08-19 12:36
  • 阅读:328

【报Bug】nvue Vue3 ts 下的若干问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 22000.856

HBuilderX类型: 正式

HBuilderX版本号: 3.5.3

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 荣耀v10

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<script lang='ts' setup>  
    import {  
        ref  
    } from "vue"  
    import TestComp from '@/components/TetsComp.vue' //这里ts 会报找不到类型的错误  

    import {  
        onNavigationBarButtonTap  
    } from '@dcloudio/uni-app'  
    const testRef = ref(false)  

    function setNavBg() {  
        uni.setNavigationBarColor({  
            backgroundColor: 'rgba(0,0,0,0)'  
        })  
    }  

    function changeRef() {  
        testRef.value = !testRef.value; //在 ts 模式下  此处 有 属性不存在报错  
    }  

    const popShow = ref(false);  

    onNavigationBarButtonTap(() => {  
        uni.showModal({  
            title: '仅显示一次',  
            content: '代码热更新后,代码失效',  
            success() {  
                //以注释 log 触发代码热更新  
                console.log('注释我 已查看 按钮异常');  
            }  
        })  
    })  

    function showPop(){  
        popShow.value = !popShow.value  
    }  
</script>  
<template>  
    <view class='page'>  
        <view class="header">  
            <text class="tip">100px</text>  
        </view>  
        <button type="default" @click="setNavBg">强制设置标题栏目颜色</button>  
        <button type="default" @click="changeRef">改变ref</button>  

        <button @click="showPop">展示子组件</button>  

        <text class="tip">当前ref {{testRef}}</text>  
        <TestComp v-model:show="popShow"></TestComp>  
    </view>  
</template>  
<style scoped>  
    .header {  
        height: 100px;  
        background-color: aquamarine;  
    }  

    .tip {  
        padding: 10px 16px;  
    }  
</style>  

操作步骤:
  1. 进hbuilderx 编辑器 可看到 红线报错
    2、page。json 已有配置 但 页面 无法生效
    3、可按我 注释提示 然后保存 编辑器 热更新,会发现 onNavigationBarButtonTap 功能已失效

预期结果:

按预期进行

实际结果:

不按预期进行

bug描述:

1. ts 找不到 ref 。value ,无法识别自定义组件类型

  • 可参考我的示例代码 无法识别ref.value 无法识别自定义组件

2. onNavigationBarButtonTap 监听事件函数 将在代码热更新后失效。后续无法触发

  • 这严重影响了开发效率 ,在 nvue 非 ts 和非 setup 情况下 也是热更新后失效。这应该是nvue特有的问题

3.page。json 的 titleNview 设置 type = float backgroundColor 设置是无效的。只能通过 js 触发。

  • 可参考我的示例

-很久 没用 uni了 听说nvue 全面支持 vue3 和ts 了 回来尝试了下 花了 一天时间 尝试 碰壁 寻找论坛,终究很多地方 感觉 不清楚 不明白。 能力有限 先报上这3个错误把

2022-08-19 12:36 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复