3***@qq.com
3***@qq.com
  • 发布:2021-04-16 11:07
  • 更新:2021-04-16 11:07
  • 阅读:337

【报Bug】在外部js文件中修改vue组件数据的状态,数据修改成功了,但是UI样式响应不及时。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Big Sur 11.2.3

HBuilderX类型: 正式

HBuilderX版本号: 3.1.10

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: iphone6s Plus

页面类型: vue

打包方式: 离线

项目创建方式: HBuilderX

示例代码:

.vue 中
import { IMAudioManage} from "./IMKit.js"
<template>
<view>
<view v-for="(item, index) in chatList" :key="index">

                  <div class="content" @click="play(item)>  
               <div :class="['common', item.isPlaying ? 'big':'big_0']"></div>  
                                <div :class="['common', item.isPlaying ? 'middle':'middle_0']"></div>  
                                <div class="common min"></div>   
                        </div>  
            </view>  
</view>  

<template>
method: {
play(messageModel){
IMAudioManage.playByMessage(messageModel)
}
}

IMKit.js中
const IMAudioManage = {
playByMessage(messageModel) {
messageModel.isPlaying = true
}
}

export { IMAudioManage}

操作步骤:

.vue 中
import { IMAudioManage} from "./IMKit.js"
<template>
<view>
<view v-for="(item, index) in chatList" :key="index">

                  <div class="content" @click="play(item)>  
               <div :class="['common', item.isPlaying ? 'big':'big_0']"></div>  
                                <div :class="['common', item.isPlaying ? 'middle':'middle_0']"></div>  
                                <div class="common min"></div>   
                        </div>  
            </view>  
</view>  

<template>
method: {
play(messageModel){
IMAudioManage.playByMessage(messageModel)
}
}

IMKit.js中
const IMAudioManage = {
playByMessage(messageModel) {
messageModel.isPlaying = true
}
}

export { IMAudioManage}

预期结果:

类似微信的语音消息播放,点击播放,会有播放动画。如果当前正在播放,这时点击下一个,需要停止上一个播放动画,并开始当前播放动画

实际结果:

如果当前正在播放,这时点击下一个语音消息,被点击的视图不会出现播放动画,isPlaying 数据实际是已被修改成true ,但是ui响应不及时

bug描述:

在外部js文件中修改vue组件数据的状态,数据修改成功了,但是UI样式响应不及时。app真机上运行响应不及时,h5上没问题

还有,如果所有逻辑写在vue里就没问题,很奇怪

2021-04-16 11:07 负责人:无 分享
已邀请:

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