见bug描述
 
                                        
                                    
                                    - 发布:2022-03-31 10:44
- 更新:2022-07-18 12:48
- 阅读:754
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: -
HBuilderX类型: 正式
HBuilderX版本号: 3.3.13
第三方开发者工具版本号: 1.05.2201240
基础库版本号: 2.22.0
项目创建方式: HBuilderX
操作步骤:
                                    
                                         
                                
                                                                                                预期结果:
                                    
                                    
                                        v-if返回正确的结果
                                     
                                
                                                                                                v-if返回正确的结果
实际结果:
                                    
                                    
                                        一直返回假
                                     
                                
                                                            一直返回假
bug描述:
编译前代码:
<template v-if="isApproval">  
    <view  
        v-if="['Assign', 'Disposal', 'Closure'].includes(currentStage) && checkPermissions('xxx')"  
        slot="sourceId:append"  
        class="append"  
        @tap="handleEditToApproval"  
    >  
    </view>  
</template>编译到小程序的wxml代码
<block wx:if="{{isApproval}}">  
  <block wx:if="{{$root.m0}}">  
    <view class="append data-v-9aab99b0" slot="sourceId:append" data-event-opts="{{[['tap',[['handleEditToApproval',['$event']]]]]}}" bindtap="__e"></view>  
  </block>  
</block>编译到小程序的js代码
var render = function() {  
  var _vm = this  
  var _h = _vm.$createElement  
  var _c = _vm._self._c || _h  
  var g0 = [-1].includes(_vm.approvalStatus)  
  var g1 = _vm.isApproval  
    ? ["Assign", "Disposal", "Closure"].includes(_vm.currentStage)  
    : null  
  var m0 = _vm.isApproval ? _vm.$root.g1 && _vm.checkPermissions("xxx") : null  
...注意最后一行的_vm.$root.g1,这个时候的g1还没有赋值给$root,所以会返回undefined,导致这个v-if会一直为假
 
             
             
             
			 
            
2 个回复
DCloud_UNI_GSQ
问题确认,已加分,后续修复
DCloud_UNI_Anne
HX 3.4.5+ 版本已修复此问题