Adinnet-Web Adinnet-Web
首页
  • 技术沉淀

    • 技术沉淀
  • 前端文章

    • JavaScript
  • 前端笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 实用技巧
收藏
  • 分类
  • 标签
  • 归档
首页
  • 技术沉淀

    • 技术沉淀
  • 前端文章

    • JavaScript
  • 前端笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 实用技巧
收藏
  • 分类
  • 标签
  • 归档
  • JavaScript文章

    • 33个非常实用的JavaScript一行代码
    • new命令原理
    • ES5面向对象
    • ES6面向对象
    • 多种数组去重性能对比
    • JS随机打乱数组
    • 判断是否为移动端浏览器
    • 将一维数组按指定长度转为二维数组
    • 防抖与节流函数
    • JS获取和修改url参数
    • 比typeof运算符更准确的类型判断
    • 三级目录

  • 学习笔记

  • 技术沉淀

  • 前端
  • 技术沉淀
黄梨梨
2024-05-06
目录

多组件对应同数据源处理(provide,inject)

# 多组件对应同数据源处理(provide,inject)

单个组件同时修改使用单个数据源的情况 例如 接口返回的一个大对象,三个组件分别对应对象内部分数据,这种情况下使用provide,inject就会很方便舒适

  <template>
    <div>
      <ChildComponent />
      <ChildComponent1 />
      <ChildComponent2 />
    </div>
  </template>
  
  <script>
  import { provide, ref } from 'vue';
  import ChildComponent from './ChildComponent.vue';
  import ChildComponent1 from './ChildComponent.vue';
  import ChildComponent2 from './ChildComponent.vue';
  
  export default {
    components: {
      ChildComponent,
      ChildComponent1,
      ChildComponent2
    },
    setup() {
      const data = ref('initial value');
      provide('data', data);
      
      return {
        data
      };
    }
  };
  </script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  <template>
    <div>
      <p>{{ data }}</p>
      <button @click="updateData">Update Data</button>
    </div>
  </template>
  
  <script>
  import { inject } from 'vue';
  
  export default {
    setup() {
      const data = inject('data');
      
      const updateData = () => {
        data.value = 'Updated value';
      };
      
      return {
        data,
        updateData
      };
    }
  };
  </script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
上次更新: 2024/05/06, 13:13:30
最近更新
01
base64转doc文件
01-03
02
手写签名
01-03
03
base64图片加水印
01-03
更多文章>
Theme by Vdoing | Copyright © 2023-2025 Adinnet
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式