(可选)通过指令将数据传递给子元素

时间:2019-01-14 11:50:25

标签: javascript angular typescript angular2-directives

我有一个弹出对话框,希望显示两个略有不同的视图之一,具体取决于我是否有数据。

是否可以通过可选在指令中传递所述数据?

即。我想使用类似的

<my-comp *ngIf="ifPopup" [data]="myData" [isNew]="isNew"></my-comp>

[data]可能不总是存在的地方,即它可能是undefined或存在实际数据。

我只是想避免基本上复制我的组件。

对我的问题感到困惑后更新 基本上,我正在向数据库添加新记录(想象添加新客户等)。我的组件将用于编辑记录或创建新记录。如果我正在编辑一条记录,则myData将被该记录填充。如果我要创建新记录,则myData将是未定义的。

2 个答案:

答案 0 :(得分:1)

你为什么不使用

<my-comp *ngIf="ifPopup && myData" [data]="myData"></my-comp>

这样,如果myData不存在,则不会显示弹出窗口

答案 1 :(得分:0)

或者,您也可以使用<ng-container>并将组件包装在内,并使用ngIf作为数据!