watch 数据更新,但是视图不更新

本文阅读 1 分钟
广告

最近在写提现功能,要求当小数点后面的数字超过两位就截取掉最后一位,我就在watch中写了一个监听发现数据改变了,但是视图并没有更新,让我有些吐血。

tixian.png

我第一次写的代码
tixian2.png
感觉逻辑上没有问题,其实值也改变了,但是没有渲染上。后来问了朋友,说watch是异步的在赋值的时候应该延迟,写个定时器延迟60毫秒,或者用this.$nextTick
this.$nextTick 将回调延迟到下次DOM更新循环之后执行。在修改数据之后立即使用它,然后等待DOM更新。

修改后

money(n,m){
    const reg = /^\d+(?:\.\d{1,2})?$/
    if (!reg.test(n)){
        this.$nextTick(()=>{
            let str = n.toString().replace(/[^\d\.]/ig,'');
            if(str.indexOf('.')!=-1){
                let strs = str.split('.');
                str=strs[0]+'.'+(strs[1]||'').substring(0,2)
            }
            this.money = str;
        })
        this.$u.toast('小数点小于等于两位');
    }
}

修改之后美丽多了。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/2482/
Raptoreum(RTM)挖矿教程,低难度高产出CPU挖矿币种
« 上一篇 05-11
Verus Coin (VRSC)挖矿教程,CPU和GPU双支持高产出币种
下一篇 » 05-15
广告

发表评论

成为第一个评论的人

作者信息

卑微页面仔
作者有点忙,还没写简介
发表文章 15 篇
最新文章

热门文章

标签TAG

热评文章