vue数据改变 但页面未渲染

页面有一段是这样的:

<td class="center" colspan="2">
  <span class="red">{{pd.receivableFine}}元</span>
</td>

现在我已经改变了pd.receivableFine的值,而页面实际显示的还是之前的值,必须要点击pd中的其余对象,这个值才会改变

请问vue中有没有类似angular里面$scope.$apply()这种强制更新的方法?

阅读 12.4k
5 个回答

你在data中声明pd.receivableFine了吗? 如果没有,他不会自动watch的.
在这种情况
你需要用到$vm.$set去设置属性并监听
https://cn.vuejs.org/v2/api/#...

如果楼上说的不好使的话,试试this.$nextTick(()=>{//数据操作}) 有可能页面文档未加载完成

vue中有this.$forceUpdate()方法强制视图更新

主要是你「receivableFine」这个属性是不是一个新属性,如果是,vue是不会做监听的,按照文档的说明,你应该采用$set 「向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新」

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题