【vue】中 $parent 和 $children 的使用方法
- <div id="app">
- A{{msg}}
- <my-button :msg="msg"></my-button>
- </div>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.7/vue.common.dev.js"></script>
- <script>
- let vm = new Vue({
- el: '#app',
- data: {
- msg: '100'
- },
- mounted () {
- console.log(this.$parent, '父') // 没有父组件
- console.log(this.$children, '子') // 99组件
- },
- components: {
- 'MyButton': {
- template: `<div>B<my-radio></my-radio></div>`,
- data () {
- return {
- msg: '99'
- }
- },
- mounted () {
- console.log(this.$parent, '父') // 100组件
- console.log(this.$children, '子') // 88组件
- },
- components: {
- 'MyRadio': {
- template: `<div>C</div>`,
- data () {
- return {
- msg: '88'
- }
- },
- },
- },
- },
- }
- })
- </script>
$children 官方介绍:
当前实例的直接子组件。需要注意 $children
并不保证顺序,也不是响应式的。如果你发现自己正在尝试使用 $children
来进行数据绑定,考虑使用一个数组配合 v-for
来生成子组件,并且使用 Array 作为真正的来源。
$parent 官方介绍:
当前组件树的根 Vue 实例。如果当前实例没有父实例,此实例将会是其自己。
既然可以获取到组件的实例,那么就可以调用组件的属性或是方法进行操作
- <div id="app">
- A{{msg}}
- <my-button :msg="msg"></my-button>
- </div>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.7/vue.common.dev.js"></script>
- <script>
- let vm = new Vue({
- el: '#app',
- data: {
- msg: '100'
- },
- methods: {
- handleClick () {
- console.log('点击事件')
- this.$children.forEach(child => {
- child.todo()
- })
- }
- },
- components: {
- 'MyButton': {
- template: `<div @click="$parent.handleClick">B</div>`,
- data () {
- return {
- msg: '99'
- }
- },
- methods: {
- todo () {
- console.log('todo事件')
- }
- },
- },
- }
- })
- </script>
$children 是一个数组,是直接儿子的集合,关于具体是第几个儿子,那么儿子里面有个 _uid 属性,可以知道他是第几个元素,是元素的唯一标识符,根据这个属性,我们可以进行其他的操作
关于父子通讯的方式有很多种,那么其中就包含了$parent 和 $children
【vue】中 $parent 和 $children 的使用方法的更多相关文章
- js模仿jquery里的几个方法parent, parentUntil, children
有时工作需要, 也是接着上一章的方法, 用js模仿jquery里的几个方法parent, parentUntil, children. function parent(node){ return no ...
- 详解vue全局组件与局部组件使用方法
这篇文章主要为大家详细介绍了vue全局组件与局部组件的使用方法,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. vue全局/局部注册,以及一些混淆的组件main.js ...
- vue七种实现组建通信的方法
目录 组件通信 1.props 父组件--->子组件通信 2.$emit 子组件--->父组件传递 $emit与props结合 兄弟组件传值 3.bus(事件总线) 兄弟组件通信 4.$p ...
- Vue中组件通信的几种方法(Vue3的7种和Vue2的12种组件通信)
Vue3组件通信方式: props $emit expose / ref $attrs v-model provide / inject Vuex 使用方法: props 用 props 传数据给子组 ...
- Vue子组件调用父组件的方法
Vue子组件调用父组件的方法 Vue中子组件调用父组件的方法,这里有三种方法提供参考 第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法 父组件 <temp ...
- Vue学习一:{{}}html模板使用方法
本文为博主原创,未经允许不得转载: 之前自学了vue,在项目中应用了vue,由于是第一次使用,感觉非常强大,使用也非常方便,趁有时间,总结一下vue学习过程中 各个指令的使用方法,只要掌握了vue的指 ...
- Vue中子组件调用父组件的方法
Vue中子组件调用父组件的方法 相关Html: <!DOCTYPE html> <html lang="en"> <head> <meta ...
- vue+element ui项目总结点(四)零散细节概念巩固如vue父组件调用子组件的方法、拷贝数据、数组置空问题 等
vue config下面的index.js配置host: '0.0.0.0',共享ip (假设你的电脑启动了这个服务我电脑一样可以启动)-------------------------------- ...
- Vue的 $parent,并不能准确找到上一层的控件,所以如果需要,需要填坑这个 bug,递归寻找下上级
Vue的 $parent,并不能准确找到上一层的控件,所以如果需要,需要填坑这个 bug,递归寻找下上级 // Find components upward function findComponen ...
随机推荐
- 洛谷P3396 哈希冲突
分块还真是应用广泛啊...... 题意:求 解:以n0.5为界. 当p小于n0.5的时候,直接用p²大小的数组储存答案. 预处理n1.5,修改n0.5. 当p大于n0.5的时候,直接按照定义计算,复杂 ...
- (转) git--Remote远程仓库的使用
远程仓库 远程仓库的作用 使用Git的远程仓库可以实现团队协作开发. 假设我们已经有了一个远程仓库,地址是:https://github.com/CnPeng/test.git 1) 克隆远程版本仓库 ...
- 第一节,初识OpenCV3-图像的读、写、显、格式转化等
之前一直在看深度学习,突然用到了对图像处理的东西,所以过来补充一下OpenCV基础. 就顺便从网上了买了一本OpenCV 3计算机视觉这本书,这本书比较薄,但是目前已经够我用了,在这里就记录一下我的学 ...
- Day28--Python--网络通信协议 tcp与udp下的socket
昨日内容回顾: 1. CS架构 服务端客户端架构 软件CS架构: 京东,淘宝,QQ,微信,暴风影音,快播 硬件CS架构: 打印机 服务端: 提供服务的 客户端: 享受服务的 BS架构: 浏览器和服务端 ...
- request鉴权的处理和判断
一般查看蝉道bug管理工具bug列表的时候,会提示 Unauthorized access,那是因为需要用户名和密码,一般用基本的认证,代码如下: 不是所有的系统都是开放的,有些人是不可以访问的,所 ...
- hdu 2476"String painter"(区间DP)
传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题意: 给定字符串A,B,每次操作可以将字符串A中区间[ i , j ]的字符变为ch, ...
- 开源的电商 B2C、B2B2C 电商系统-关于shopnc版权问题处处是陷阱啊
最近有好多人收到过shopnc的律师函,关于这可能大部分人都是在淘宝购买的,或者直接在33hao购买的.很多人可能没注意版权的问题,以为在33hao购买就没问题,但这只是陷阱,大家一定要注意 来源:h ...
- Linux系统(centos)同步时间方式
.删除本地时间并设置时区为上海 rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 1 yum i ...
- nodeJS 调试debug
一. 用chrome来调试 1)运行node的时候,带上 --inspect-brk=9999 node --inspect-brk= index.js 2)打开chrome调试管理页面 3)如果没有 ...
- Unity 如何检测鼠标双击事件
代码如下: void OnGUI(){ Event e=Event.current; )) Debug.Log("用户双击了鼠标"); }