交流知识获取视频资料:
父组件向子组件传值 @Input
文件目录
父组件:
father.template.html
父组件
father.component.ts
import { Component, OnInit } from '@angular/core';@Component({ selector: 'cmt-father', templateUrl: './father.template.html'})export class FatherComponent implements OnInit { data: any = '我是传往子组件的值' ngOnInit() { } ngOnChanges() { }}
子组件:(使用@Input修饰器去接收)
childcomponent.ts
import { Component, OnInit, Input } from '@angular/core';@Component({ selector: 'cmt-child', templateUrl: './child.template.html'})export class ChildComponent implements OnInit { @Input() data: any;//接收父组件的值 ngOnInit() { console.log(this.data) } ngOnChanges() { console.log(this.data) }}
这样就把值从父组件传到了子组件!
子组件向父组件传值(子组件通过方法借助修饰器@output传值给父组件)
子组件
childcomponent.ts
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';@Component({ selector: 'cmt-child', templateUrl: './child.template.html'})export class ChildComponent implements OnInit { @Output('checked') checkedBack = new EventEmitter(); id:any ="我是传给父组件的值" ngOnInit() { } ngOnChanges() { } checkedCallback() { this.checkedBack.emit(this.id); }}
child.template.html.html
子组件
父组件
father.template.html
父组件
father.component.ts
import { Component, OnInit } from '@angular/core';@Component({ selector: 'cmt-father', templateUrl: './father.template.html'})export class FatherComponent implements OnInit { ngOnInit() { } ngOnChanges() { } checkedBack(event) { console.log(event) }}
这样子组件通过点击就把值传递给了父组件!