7***@qq.com
7***@qq.com
  • 发布:2023-06-01 11:38
  • 更新:2023-06-01 15:57
  • 阅读:525

【报Bug】苹果ios系统在vue3模式下使用可选链操作符 ?. 及空值合并操作符 ??编译错误

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.8.3

手机系统: iOS

手机系统版本号: iOS 12.4

手机厂商: 苹果

手机机型: iPhoneX / iPhone 6 Plus

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="content">  
        <image class="logo" src="/static/logo.png"></image>  
        <view class="text-area">  
            <!-- #ifdef VUE2 -->  
            <text class="title">VUE2 {{ title }}</text>  
            <!-- #endif -->  
            <!-- #ifdef VUE3 -->  
            <text class="title">VUE3 {{ title }}</text>  
            <!-- #endif -->  
            <!-- <text class="info">{{ info.content ? info.content : '默认值' }}</text> -->  
            <text class="info">{{ info?.content ?? '测试??默认值' }}</text>  
        </view>  
    </view>  
</template>  

<script>  
export default {  
    data() {  
        return {  
            title: 'Hello',  
            info: {}  
        };  
    },  
    onLoad() {  
        setTimeout(() => {  
            this.info = { content: 'ok' };  
        });  
    },  
    methods: {}  
};  
</script>  

<style>  
.content {  
    display: flex;  
    flex-direction: column;  
    align-items: center;  
    justify-content: center;  
}  

.logo {  
    height: 200rpx;  
    width: 200rpx;  
    margin-top: 200rpx;  
    margin-left: auto;  
    margin-right: auto;  
    margin-bottom: 50rpx;  
}  

.text-area {  
    display: flex;  
    justify-content: center;  
}  

.title {  
    font-size: 36rpx;  
    color: #8f8f94;  
}  
</style>

操作步骤:

新建默认项目在首页文件内只要存在 <text class="info">{{ info?.content ?? '测试??默认值' }}</text>就会白屏,vue3不提示错误,vue2提示【11:30:02.749 Module build failed (from ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js):
11:30:02.751 语法错误: Unexpected token (1:410)】

小程序vue2内报错

[ WXML 文件编译错误] ./pages/index/index.wxml  
 Bad value with message  
> 1 | <view class="content"><image class="logo" src="/static/logo.png"></image><view class="text-area"><text class="title">{{"VUE2 "+title}}</text><text class="info">{{info?.content??'测试??默认值'}}</text></view></view>  
    |                                                                                                                                                               ^  
at files://pages/index/index.wxml#1(env: Windows,mp,1.05.2204250; lib: 2.32.1)

预期结果:

可正常运行

实际结果:

错误无法正常编辑使用

bug描述:

通用是vue3模式下代码内使用了可选链操作符 ?. 及空值合并操作符 ??
安卓app运行正常(Andriod 13),苹果手机12和13的ios系统页面进入后显示白屏(自定义的底部栏有显示)

试过标准基座,自定义基座,正式打包的应用都会出现此问题
并且使用了最简单的示例项目(默认模版及Hello uni-app)测试也存在此问题

小程序vue3编译可正常使用(vue2也报错误)

2023-06-01 11:38 负责人:无 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining

iOS JSCore 13.4才支持 12.4不支持这个语法

  • 7***@qq.com (作者)

    编译的时候可以做兼容吗,改成(?:)三元式

    2023-06-02 15:15

  • DCloud_iOS_WZT

    回复 7***@qq.com: 暂不支持

    2023-06-02 15:26

  • 我愿你知道

    版本支持我都懂,请问为什么HX3.6.18就能正常运行呢

    2023-06-19 13:38

要回复问题请先登录注册