IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Angular核心-父子间组件传递数据-重难点 -> 正文阅读

[游戏开发]Angular核心-父子间组件传递数据-重难点

Angular核心-父子间组件传递数据-重难点

📒博客首页:蔚说的博客
🎉欢迎关注🔎点赞👍收藏??留言📝
🙏作者水平很有限,如果发现错误,求告知,多谢!
🌺有问题可私信交流!!!
(达内教育学习笔记)仅供学习交流

Vue.js和Angular中的父子间消息传递原理一样,都可以用口诀:“Props Down,Event Up

方向一:父=》子传递数据

父组件通过“子组件的自定义属性”向下传递数据给子组件。
步骤:

  1. parent.ts:父组件创建数据
    userName = ‘苍茫大地’
  2. parent.html:父组件将自己的数据绑定给子组件的属性
<app-myc01-child2-photo [child2Name]="userName"></app-myc01-child2-photo>
  1. child2.ts子组件定义扩展属性
//普通属性不能被父组件传值
  //child2Name:string = ''
  //输入型属性:父组件可以利用这种属性传值进来
  //得使用装饰器装饰一下
  //装饰器要紧挨着要装饰的输入型属性
  //并且一个装饰器只能管一个
  //有很多输入型属性就必须写多个装饰器
  @Input()//声明为“输入型属性”
  child2Name:string = ''
  1. child2.ts子组件使用自定义属性
<h2>{{child2Name}}的照片墙</h2>

方向二:子=》父

子组件通过触发特定事件(其中携带数据),把数据传递给父组件(父组件提供事件处理方法)

  1. Child.ts:自定义事件发射器–输出属性
import { Component, EventEmitter, OnInit, Output } from '@angular/core';
  //造一个事件发射器
  //输出型属性,可以向父组件输出数据
  @Output()
  private cryEvent = new EventEmitter()
 写一个事件发射数据
doModify(){
    console.log(this.userInput)
    //子组件此时想发射数据给父组件
    this.cryEvent.emit(this.userInput)
  }
  1. 在父组件中找到子组件的模块:监听子组件的事件
<app-myc01-child1-modify (cryEvent)="doCry($event)"></app-myc01-child1-modify>
//$even是用于接收子组件发射的数据
  1. 在ts文件中接收使用子组件传递的数据
  doCry(e: any){
    console.log('parent.docry():')
    console.log(e)
    this.userName = e
  }
  //e就是子组件想传递给父组件的数据

父子组件传递数据的简便方法:

父组件直接使用子组件的引用:使用#为子组件声明识别符

<div #c0 ></div>
    <app-myc01 #c1></app-myc01>
    <br>
    <app-myc02 #c2 ></app-myc02>

在ts文件里:

@ViewChild('c0',{static:true})//这个c0表示组件c1
  private c0: any;//这个c0是自己起的名字,与组件c0绑定
  @ViewChild('c1',{static:true})
  private c1: any;

提示:ViewChild装饰器用于将子组件识别符与某个属性关联起来,第一个参数必须是已经存在的子组件识别符(不带#),第二个参数static指定该组件是否为“静态组件”—不会有时有时无的组件(比如ngIf,ngFor)
注意:
通过“ViewChild”-视图组件方式,父组件可以获得任意子组件中的数据,在一定程度上违反了“最少知识法则”
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=dfhgwhbq9ysr

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:25:11  更:2022-06-29 19:25:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/25 11:59:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码