具有可选输入的Angular2子组件

时间:2016-09-08 15:54:19

标签: angular components

TLDR:@Input可以选择吗?

所以我有这个子组件,它是用于创建事务的模式(以银行术语表示),我想将此模式升级为创建或更新事务。

目前,模态只是一组输入字段和一个用于创建的提交按钮。 我想要实现的是当这个组件将一个事务作为输入时,它将处于'编辑模式'如果没有,它将会出现在“创建模式”中。 (意味着输入字段将在编辑模式下填充数据,在创建模式下为空)

@Input transaction能否以某种方式成为可选项?

1 个答案:

答案 0 :(得分:2)

是。更重要的是,只需执行此操作以防您需要更改

<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#bdbdbd"
android:dividerHeight="3.0sp"
android:headerDividersEnabled="false"
android:paddingEnd="7dp"
android:paddingStart="7dp"></ListView>

如果你想要特定的东西

<div *ngIf="transaction">Some edit stuff</div>
<div *ngIf="!transaction">Create stuff</div>

编辑:我将如何做(在您的情况下)

这可能不是最佳解决方案,但应该有效(如果我没有弄错语法)

ngOnInit() {
  if(!this.transaction) { 
    // create stuff only 
  } else {
    // update stuff only
  }
}

这样所有类属性都可用,只有空。除非您预先定义它们,否则可以在构造函数或ngOnInit中设置它们。