收藏
回答

为什么我在setTimeout里边改变了data里边的数据,dom没有更新?

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 6.6.7 2.0.4

- 当前 Bug 的表现(可附上截图)

用的wepy框架

在setTimeout里边改变了data里边的数据,dom没有更新

请教下这个是bug还是我的使用问题?

- 预期表现

到了setTimeout指定的时间,dom更新

- 复现路径


- 提供一个最简复现 Demo

以下是一个简单的wepy组件,onload中设置了延迟改变num的值,但是到了指定的时间,settimeout中的代码触发了,num的值也变了,但是没有更新到dom上,这个是什么原因:

<template>
 <view>{{num}}</view>
 <button @tap="changeNum">changeNum</button>
</template>

<script>
 import wepy from 'wepy';

 export default class Com extends wepy.component {
data = { num: 1 };
   methods = {
changeNum: function() {
this.num = 123;
     }
};
   onLoad = function() {
setTimeout(() => {
this.num = 222;
     }, 1000);
   };
 }
</script>

<style scoped>
 view {
border: 1px solid #00f;
 }
</style>


最后一次编辑于  2018-08-20  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • nickname
    nickname
    2018-08-22

    你好,wepy相关问题还请到wepy的GitHub上提issue哈

    2018-08-22
    赞同
    回复