当前位置: 首页 > news >正文

angular入门基础教程(五)父子组件的数据通信

组件之间的通信是我们业务开发中少不了的,先了解下父子组件的通信

父组件传数据给子组件

前面,我们学会会动态属性的绑定,所以在父组件中给子组件绑定属性,在子组件中就可以使用这个属性了。

  • 父组件中声明然后赋值

export class AppComponent {money = 100;
}
<main class="main"><p>Welcome to Angular!{{name}}</p><h3>下面是子组件的内容</h3><p>这是父组件的存款:{{money}}</p><app-user-list [childMoney]="money" />
</main>
  • 子组件里面接受这个属性

注意,这里我们使用@Input()装饰器来接受这个属性。值类型必须保持一致,否则会报错。

import { Component, Input } from '@angular/core';
export class UserListComponent {@Input() childMoney = 0;
}

显示父组件传过来的值

 <p>这里是子组件的money:{{childMoney}}
</p>

在这里插入图片描述

子组件传数据给父组件

  • 子组件
<p>这里是子组件的money:{{childMoney}}</p>
<button (click)="handleAdd()">赚钱</button>
<button (click)="handledec()">花钱</button>

const core里面引入EventEmitter,用来发射事件。Output声明一个事件发射器,用来发射事件。

  import { Component, EventEmitter, Input, Output } from '@angular/core';@Output() incrementCountEvent = new EventEmitter<number>();handleAdd() {this.incrementCountEvent.emit(1);}handledec() {this.incrementCountEvent.emit(-1);}
  • 父组件
    自定义事件,使用()绑定事件。接受参数,使用$event来接受。
<app-user-list [childMoney]="money" (incrementCountEvent)="handleChange($event)" />
 handleChange($event: any) {this.money += $event;}

就完成了子组件向父组件的通讯。

请添加图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 七天打造一套量化交易系统:Day6-人工智能在量化投资中的应用
  • 【建议收藏】大数据Hadoop实战入门手册,配套B站视频教程1小时速通
  • 67.利用FreeLibrary函数实现无痕注入的核心代码
  • 证书及公钥SHA256值计算方法
  • 大模型重塑软件研发,从辅助编程到多 Agent 协同还有多远?| 新程序员
  • 公钥和私钥
  • 请你谈谈:vue的渲染机制(render)- 2举例说明问题
  • Kafka使用案例
  • 测量温湿度通过蓝牙和串口发送数据显示在LCD1602屏上
  • 紫辉创投开启Destiny of Gods首轮投资,伯乐与千里马的故事仍在继续
  • 2024杭电多校01——1003树
  • SpringBoot Mysql->达梦8 activiti6.0.0 项目迁移
  • JLink烧录失败
  • 免费发送邮件两种接口方式:SMTP和邮件API
  • “链动+消费增值:用户留存复购新引擎“
  • 【Leetcode】101. 对称二叉树
  • 【知识碎片】第三方登录弹窗效果
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • C学习-枚举(九)
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • IndexedDB
  • input实现文字超出省略号功能
  • IP路由与转发
  • Less 日常用法
  • linux安装openssl、swoole等扩展的具体步骤
  • magento 货币换算
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • php面试题 汇集2
  • PV统计优化设计
  • spring + angular 实现导出excel
  • vue-router 实现分析
  • vue--为什么data属性必须是一个函数
  • vue中实现单选
  • 诡异!React stopPropagation失灵
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 推荐一个React的管理后台框架
  • 网页视频流m3u8/ts视频下载
  • 正则表达式
  • hi-nginx-1.3.4编译安装
  • scrapy中间件源码分析及常用中间件大全
  • UI设计初学者应该如何入门?
  • ​水经微图Web1.5.0版即将上线
  • #if和#ifdef区别
  • #pragam once 和 #ifndef 预编译头
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $(selector).each()和$.each()的区别
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (2.2w字)前端单元测试之Jest详解篇
  • (C)一些题4
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (JS基础)String 类型
  • (二) 初入MySQL 【数据库管理】