一般下我们子组件获取父组件传过来的的值得时候,我们是使用props来接收,但是如果我们父组件转过来的值是给孙组件使用时,使用哪个props接收的方式太过麻烦。

这是vue为我们提供了一个实例$attrs,表示该组件标签上的属性实例。

1,$attrs,该组件的实例标签上的属性

例如一个组件在父组件中进行渲染成标签时:

 <sona name="小智" age="18" sex="男"></sona>

怎$arrrs表示<sona/>标签上的name="小智" age="18" sex="男"    属性的实例。

在子组件内只用用大括号表达式打印看:

他是一个对象,对象没包含了该组件标签的属性和值

我们只要将这个在传过去代孙子组件就可以了,无需在props内接收。

注意:将inheritAttrs设置成false,就不会将属性挂载该组件标签上。

传给孙子组件的时候,需要在儿子组件上使用v-bind:来实现传值(不能简写)。

<parentson v-bind="$attrs"></parentson>

孙子组件内打印效果:

  <div>孙子</div>
孙子
{{ $attrs}}
<button @click="changp">改变</button>
........................
</div>

页面效果:

2,$listeners:该组件上绑定的全部方法实例。

使用方式和$attrs一样,

a,在父组件内:

 <sona name="小智" age="18" sex="男" @gotoParentson="gotoParentson"></sona>

b,在子组件内使用v-on将方法绑定给孙子组件实例标签上

<parentson v-bind="$attrs" v-on="$listeners"></parentson>

c,孙子组件:

changp() {
this.$listeners.gotoParentson();
}

就可以调用父组件的方法啦!

警告:只能向下传递!!!!!!!

vue小知识~使用$attrs和$listeners接收父组件转来的属性和方法的更多相关文章

  1. vue小故事之父子(上下级)通信之父传子props

    vue小故事之父子(上下级)通信之父传子props vue 父子(上下级)通信 props  或许你对父子通信有点迷糊,为什么这样那样父子之间就可以通信了,以下通过一个小故事来进行解说,故事模型或许有 ...

  2. vue pros 子组件接收父组件传递的值

    1.子组件 ItemTemplate.vue <template> <div class="item"> <li v-for="pdata ...

  3. Vue 子组件接收父组件的值

    1.父组件 <template> <div id="rightmenu8"> <rightmenu7 ref="rightmenu7&quo ...

  4. vue 小知识

    图片: 1.img 的路径 <img :src="item.src"/> 2.背景图片的路径 v-bind:style="{backgroundImage: ...

  5. Vue小案例 之 商品管理------修改商品数量以及增加入库日期属性

    实现修改商品的数量: 加入的代码: css: .clear-btn{ text-align: right; padding-right: 10px; } .table-warp a{ text-dec ...

  6. Day10-微信小程序实战-交友小程序-实现删除好友信息与子父组件间通信

    回顾:上一次已经把消息的布局以及样式做好了 效果图: 在removeList.js文件中,messageId就是发起这个消息的用户了 先查看一下自定义组件的生命周期 https://developer ...

  7. 前端笔记之Vue(二)组件&案例&props&计算属性

    一.Vue组件(.vue文件) 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器 ...

  8. vue初级知识总结

    从我第一篇博客的搭建环境开始,就开始学习vue了,一直想将这些基本知识点整理出来,但是一直不知如何下手,今天刚好实战了两个小demo,所以就想趁这机会将以前的一起整理出来,这是vue最基础的知识,我有 ...

  9. 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...

  10. 【C#小知识】C#中一些易混淆概念总结(六)---------解析里氏替换原则,虚方法 分类: C# 2014-02-08 01:53 1826人阅读 评论(0) 收藏

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...

随机推荐

  1. 【C#】初次使用webapi的体会

    webapi controller 要继承 ApiController   重写权限验证 ,记得使用 System.Web.Http下的AuthorizeAttribute.   webapi默认路由 ...

  2. StackExchange.Redis跑起来,为什么这么溜?

    StackExchange.Redis 是一个高性能的 Redis 客户端库,主要用于 .NET 环境下与 Redis 服务器进行通信,大名鼎鼎的stackoverflow 网站就使用它.它使用异步编 ...

  3. centos7下启动Django项目报错(sqlite错误)

    报错内容如下: [root@localhost project]# python3 manage.py runserver Watching for file changes with StatRel ...

  4. 浏览器打开JupyterLab后所有快捷键与窗口按键均失效怎么办?

      本文介绍JupyterLab中菜单栏按钮无法点击.快捷键无法执行问题的解决办法.   近期打开JupyterLab后,发现其中菜单栏按钮无法点击,快捷键也均无法执行.如图,红框内的按钮点击均无任何 ...

  5. Xenocode Postbuild——C#代码混淆器使用方法

    安装 不多作赘述 使用步骤 选择[application]选项卡,选择[add],如果添加的是exe,则[Preset]选择第一项,添加的是dll则选择第二项 选择[Protect]选项卡,将两个都勾 ...

  6. 大厂边缘组VS小厂核心组,要怎么选?

    有问必答 最近有粉丝提问:大厂边缘组VS小厂核心组,怎么选? 这确实是个好问题,读者老爷们可以先问下自己:如果有一份月薪2W在大厂边缘组打螺丝的Offer且不加班,另外还有一份月薪2W5,在小厂核心组 ...

  7. MySQL 导出一条数据的插入语句

    1.MySQL 导出一条数据的插入语句的方法 在MySQL中,如果我们想要导出一条数据的插入语句,我们可以使用SELECT ... INTO OUTFILE语句(但这通常用于将整个表或查询结果导出到一 ...

  8. kettle从入门到精通 第三十九课 kettle 增量同步(日级)

    1.上一课我们学习了在数据量大的情况下的分页全量同步示例,本次我们一起学习下kettle 增量全量同步.有些业务场景不需要实时数据,比如统计t-1日的销售业绩情况等.   2.kettle增量全量同步 ...

  9. HTML元素如何按字符串原格式输出文本换行制表符信息

    只需给相应HTML元素添加 style="white-space: pre"

  10. WebUI自动化测试中关于图片验证码的解决方法

    关于怎么识别图片中的文字,传送门:https://www.cnblogs.com/teangtang/p/16157880.html 实现代码如下: #! /usr/bin/env python # ...