美文网首页
vue中的$attrs是什么?

vue中的$attrs是什么?

作者: wjing静 | 来源:发表于2021-05-12 17:18 被阅读0次

包含了父作用域中不作为 prop 被识别 (且获取) 的 attribute 绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。

在vue中通过props来传递参数的时候,可能会遇到需要父直接传到孙的情况,此值在子组件中并没有什么作用,只是在孙子组件中有用到,这个时候就可以通过$attrs来传递参数,例如

let vm = new Vue({
    el: '#app',
    data: {
      msg: '父组件的内容'
    },
    //使用$attrs接收
    components:{
      'son-component': {
        // props: [
        //   'msg'
        // ],
        template:`<div>Son:  <grandson-component v-bind="$attrs"></grandson-component></div>`,
        components:{
          'grandson-component': {
            props: [
              'msg'
            ],
            template: `<div>Grandson:  {{msg}}</div>`
          }
        }
      }
    }
})

1.首先,在子组件中不用再通过props来接收来自父组件的信息;
2.在子组件中调用孙子组件,绑定$attrs;
3.这样在孙子组件就能直接接收父组件的内容

多级组件传值时,调用目标组件绑定$attrs,可直接获取根组件所传递参数,而不用每一级组件逐层传递。

相关文章

  • vue中的$attrs是什么?

    包含了父作用域中不作为 prop 被识别 (且获取) 的 attribute 绑定 (class 和 style ...

  • vue中的$attrs和$listeners

    在组件多级嵌套的情况下,相互间的传值是这样的呢 ? A组件(父组件)➡️B组件(子组件)➡️C组件(孙组件) 在很...

  • vue中的$attrs对比props

    首先需要弄清楚的是: 在vue中父类在使用子类组件时,默认将绑定事件传给了子类组件的根元素。例:有这样一个组件: ...

  • Vue2.4 $attrs、$listeners、inherit

    在开始介绍之前先看下vue官方文档对 $attrs和 $listeners的解释: vm.$attrs包含了父作用...

  • vue $attrs, $listeners

    vm.$attrs 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style...

  • vm.$attrs 【Vue 2.4.0新增inheritAtt

    1、vm.$attrs简介 首先我们来看下vue官方对vm.$attrs的介绍:包含了父作用域中不作为 prop ...

  • vue中$attrs $listeners 的简单使用

    Ex : A 包含 B B包含C 简单来说:$attrs与$listeners是两个「对象」,$attrs里存放的...

  • $attrs、$listeners在Vue中的使用

    在多级组件嵌套需要传递数据时,通常会想到的方法是使用vuex或者bus传值,又或者事件触发传值,但是如果仅仅是传递...

  • Vue中 $attrs 和 $listeners 的用法

    背景 学习 vueAdmin-template 这个项目时,看到两个属性 v-bind="$attrs" 和 v...

  • vue 的$attrs $listeners

    组件多级嵌套,相互传递如何实现的A:父组件B:子组件C:孙组件在开发过程中,有时候想把某些数据从A组件传递给C组件...

网友评论

      本文标题:vue中的$attrs是什么?

      本文链接:https://www.haomeiwen.com/subject/jygadltx.html