• Vue 常见通信


    一、父子通信

    1:父传子 props子传父 events($emit);

    2:通过父链 / 子链 通信**$parent / $children;**

    3:$refs获取ref 可以访问组件实例方法,;

    4:提供与注射provide / inject

    provide / inject
    v2写法与v3不同需注意。v3官方API你值得拥有与阅读:https://cn.vuejs.org/guide/components/provide-inject.html
    扛起大枪一起突突突突!
    出现原因:解决prop 逐级透传 父一级与子N级传值获取的麻烦。
    v2官方解释:provide 和 inject 绑定并不是可响应的(字符串类型的值)。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的 property 还是可响应的。

    **v2 string**
    // 父组件
    data() {
        return {
          name: "卷儿"
        }
      },
      provide: function() {
        return {
          newName: () => this.name
        }
        // 子组件
    inject: ['newName'],
    computed: {
       hnewName() {
         return this.newName()
       }
     }
    <!-- 子组件中的使用方式 -->
    <h2>{{ hnewName }}</h2> <!-- 推荐使用这种方法 -->
    <h2>{{ newName() }}</h2>
    
    **v2 obj**
    // 父组件
    data() {
        return {
          obj: {
            name: "卷儿"
          }
        }
      },
      provide: function() {
        return {
        // 传递一个对象
          obj: this.obj
        }
      },
    
    // 子组件
    inject: ['obj'],
    computed: {
    	// 也可以不用计算属性重新定义
       objName() {
         return this.obj.name
       }
     }
    
    <!-- 子组件中的使用方法 -->
    <h2>obj的name: {{objName}}</h2>
    <h2>obj的name: {{obj.name}}</h2>
    V3采用ts语法,等我先学习一下哈哈哈哈。溜了溜了。
    
    5:a t t r s / attrs/attrs/listeners;
    
    **二、兄弟通信**
    1:Bus;
    2:Vuex;
    
    
  • 相关阅读:
    节流&防抖
    Qt 中捕获三方库&自身标准打印方法
    设计模式 — — 前端
    synchronized常见锁策略
    鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表三
    p5.js 写个连连看
    cookie、sessionStorage和localStorage的详解与区别
    高速串行总线——SATA
    Nginx正向代理,反向代理和负载均衡
    go学习(四、面向接口)
  • 原文地址:https://blog.csdn.net/m0_48426077/article/details/138846990