Vue的双向绑定用着确实方便,但自动档虽好,手动档也不是一无是处;在特定的情况下,还真的要手工触发“刷新”操作,目前有四种方案可以选择:
- 刷新整个页面(最low的,可以借助
route机制) - 使用
v-if标记(比较low的) - 使用内置的
forceUpdate方法(较好的) - 使用
key-changing优化组件(最好的)
前面两种种不多介绍了,我们重点介绍后面的两个:
force update
组件内置$forceUpdate方法,使用前需要在配置中启用。
import Vue from 'vue' Vue.forceUpdate() export default {
methods: {
handleUpdateClick() {
// built-in this.$forceUpdate() } } }
key-changing
原理很简单,vue使用key标记组件身份,当key改变时就是释放原始组件,重新加载新的组件。
<template> <div> <span :key="key">
span>
div>
template> <script> export default {
data() {
return {
key: 0 } }, methods: {
handleUpdateClick() {
this.key += 1 } } }
script>
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217736.html原文链接:https://javaforall.net
