在Angular 6中交换组件的更好方法

时间:2018-10-23 07:58:44

标签: angular

在Angular 6应用中,我编写了如下代码:

<div *ngIf="someSettings === 'abc'">

      <abc-container [prop1]="" [prop2]="" (ev1)="" (ev2)="">
      </abc-container>

      <xyz-container [prop1]="" [prop2]="" (ev1)="" (ev2)="">
      </xyz-container>

</div>

现在基于someSettings我想交换这两个组件,因此我将使用另一个代码块,例如:

<div *ngIf="someSettings === 'xyz'">

      <xyz-container [prop1]="" [prop2]="" (ev1)="" (ev2)="">
      </xyz-container>

      <abc-container [prop1]="" [prop2]="" (ev1)="" (ev2)="">
      </abc-container>

</div>

但这是重复的,例如如果我添加或删除了某些属性或事件,则必须在两个位置都进行更改,是否有更好的方法?

2 个答案:

答案 0 :(得分:1)

我们可以使用* ngIf,ng-template进行一些优化。

exec('ffmpeg -i '.$video_filename.' -c:v libx264 -crf 25 tmp_dir'.$video_filename.'');
exec('rm -rf '. $video_filename);
exec('mv tmp_dir/'.$video_filename.' ..');

答案 1 :(得分:0)

我认为您可以将NgClassdisplay: flexflex-direction: column/column-reverse一起使用以在组件之间进行交换