• angular4父组件向子组件传值,子组件向父组件传值的方法


    欢迎加入前端交流群交流知识获取视频资料:749539640

    父组件向子组件传值   @Input

    文件目录

    父组件:

    father.template.html

    <h1>父组件</h1>
    <cmt-child [data]='data'></cmt-child>

    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<any>();
        id:any ="我是传给父组件的值"
        ngOnInit() {
        }
    
        ngOnChanges() {
        }
        checkedCallback() {
            this.checkedBack.emit(this.id);
        }
    }

    child.template.html.html

    <h1>子组件</h1>
    <button (click)='checkedCallback()'>点击传值给父组件</button>

    父组件

    father.template.html

    <h1>父组件</h1>
    <cmt-child (checked)="checkedBack($event)"></cmt-child>

    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)
        }
    }

    这样子组件通过点击就把值传递给了父组件!

  • 相关阅读:
    [杂说]网络是基础生产工具
    这几天的工作
    [代码]大家来动动脑筋吧
    测试
    [基础] 如何使用extern和static限定符
    元宵节快乐
    复杂的“人"
    C# SMTP发邮件不支持465端口的解决方案,网易企业邮箱
    软件三层架构模型
    ASP.NET MVC 使用二级域名来注册Area区域
  • 原文地址:https://www.cnblogs.com/wangzhichao/p/9817312.html
Copyright © 2020-2023  润新知