vue更新data中的数据页面不渲染_如何控制vue.js不渲染data中的初始值?

按照国际惯例,我首先 new 了一个 Vue 实例

let vm = new Vue({

data: {

name: 'xxx'

},

methods: {

getData(){

let that = this;

$.ajax({

...,

success: function(res){

that.name = res;

}

});

}

},

mounted(){

this.getData();

}

});

如上,在 data 中定义了一个变量 name, 将获取数据的函数挂载在 mounted 中,用异步返回的值去变更 name。 ok,现在将 name渲染在页面上:

{{ name }}

现在的问题是,页面上会快速显示 name 的初始值 'xxx',随后才更新为异步获得的数据,很影响体验

有没有方法可以不渲染初始值?(只展示异步获得的数据)

补充:设置初始值为空依然会渲染在页面上,撑开父元素

比如,渲染结构如下:

({{ name }})

解决方案:

你可以把初始值复制为空字符串'',然后用v-if或者v-show根据name是否为空来判断是否需要渲染{{ name }}就可以了。要是觉得突然出现的有点突兀,可以加过渡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值