You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改Vue.prototype挂载的全局变量后router-view未重渲染是什么原因

问题产生原因
  • 原型链遮蔽导致全局值未被修改
    你在子组件中执行this.$test = 11的操作不会修改挂载在Vue.prototype上的全局$test值:对于基础类型的原型属性,直接通过实例this赋值时,只会在当前子组件实例上新增一个同名的私有属性,覆盖原型链上的全局属性,父组件读取的$test仍然是原型上的初始值10,router-view绑定的key没有发生变化。
  • 普通原型属性不具备响应式特性
    直接挂载到Vue.prototype上的普通值没有经过Vue响应式系统的处理,即使你通过Vue.prototype.$test = 11的方式正确修改了全局原型属性的值,Vue也无法监听到该值的变更,不会触发依赖该值的视图更新,自然也不会触发router-view的重渲染逻辑。

内容的提问来源于stack exchange,提问作者alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:06:03