vue2 provide/inject watch 监控inject中值变化

在Vue 2.x中,使用inject注入的值默认情况下是不能被watch直接监控到的,因为inject提供的值不是响应式的。这是Vue 2.x的设计,与Vue 3.x中的provide和inject不同,Vue 3.x中的inject提供的值是响应式的,可以直接被watch监控到。

如果你希望在Vue 2.x中监控inject中的值的变化

使用计算属性或引用类型的响应式数据 :将inject提供的值保存在组件的响应式数据中,然后使用计算属性或watch来监控这个响应式数据的变化。例如:

复制代码
<template>
  <div>
    <p>{{ injectedValue }}</p>
  </div>
</template>

<script>
export default {
  inject: ['injectedValue'],
  data() {
    return {
      // 将 injectedValue 存储在响应式数据中
      valueToWatch: this.injectedValue,
    };
  },
  watch: {
    valueToWatch(newValue, oldValue) {
      console.log('injectedValue 变化:', newValue, oldValue);
      // 在这里可以执行相应的操作
    },
  },
};
</script>

示例二、

父组件:

复制代码
<template>
  <div @click="changeMap"></div>
</template>

<script>
export default {
   provide() {
        return {
            mapLoad: this.mapLoad,
        };
    },
  data(){
        return {
            isLoadMap: false
        }
    },
  methods: {
        mapLoad(){
            return this.isLoadMap
        },
        changeMap(){
           this.isLoadMap = !this.isLoadMap
        }
    },
};
</script>

inject使用的地方

复制代码
<template>
  <div>
  </div>
</template>

<script>
export default {
  inject: ['mapLoad'],
   computed: {
        watchloadmap() {
            return this.mapLoad()
        }
    },
  watch: {
    watchloadmap(newValue, oldValue) {
      console.log('injectedValue 变化:', newValue, oldValue);
      // 在这里可以执行相应的操作
    },
  },
};
</script>

注意事项:

相关推荐
miofly7 小时前
GitHub 今日推荐|sweety-handdraw-video:文章转手绘口播视频
javascript·开源·github
console.log('npc')7 小时前
[特殊字符] AI Agent 工作台前端实战教程 · 新手入门指南
前端·人工智能
gCode Teacher 格码致知7 小时前
前端教学2:ul标签的应用场合与经典案例
前端
const_qiu7 小时前
第 2.5 章 2.5.6:前端登录、Token 无感续签与路由守卫
java·前端·人工智能·状态模式
用户83134859306988 小时前
Vue3 事件:常用用法与开发高频坑点
前端·javascript·vue.js
weixin_446260858 小时前
ReAct‑Evolve:基于轨迹反馈的ReAct智能体自主提示演化系统
前端·react.js·前端框架
其实防守也摸鱼8 小时前
存储管理:页面置换算法学习任务(测验题要求给出置换页面顺序,缺页次数,缺页率)
android·前端·数据库·学习·oracle·自动化
怒放的生命19918 小时前
前端项目 Docker 打包实操指南
前端·docker·容器
tedcloud1238 小时前
Docker Compose 部署 Immich:手机照片自动备份与常见故障排查
运维·前端·docker·容器·智能手机·开源·流程图