Angular 父组件向子组件传值@Input

1.基础用法

在Angular中,我们可以使用变量传递数据,从而实现父组件到子组件的数据交互。

<gl-form-editor-template        
       #childInputEditorTemplate
       [formData]="item.formData"
       [fields]="item.systemSchemeEdit"
        layout="vertical"
 ></gl-form-editor-template>

这是自定义表单组件,通过formData传递表单数据,通过fields传递表单字段数组,从而在子组件内部生成动态表单,通过layout指定排列方式。

@Input() layout: 'horizontal' | 'vertical' = 'horizontal';

<form nz-form [formGroup]="form" [nzLayout]="layout">

在子组件中进行接收,并在子组件中进行使用。

2.@Input set/get 用法

除去简单的传值之外,我们可以用set方法和get方法对数据进行简单的处理以及进行一些简单的逻辑处理,使之更好的实现功能。

 /**
     * 字段列表
     */
    _fields = <any>[];
    @Input() set fields(value: any[]) {
        this._fields = value || [];
        if (this._fields.length > 0) {
            this.buildForm();
        }
    }
    get fields() {
        return this._fields;
    }

 

在传入字段列表后,使用set方法进行逻辑判断非空之后,直接进行表单的构建。并使用get方法将fields暴露出去。

  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值