Angularjs一个组件多个视图(Html + css)

时间:2016-02-22 15:59:45

标签: angularjs angular angular2-template angular2-directives angular2-services

我需要弄清楚如何为组件提供不同的视图(html + css)。很多人说最好为每个视图分别拥有多个组件,然后使用服务进行交互,但我的情况如下: 我有一个控制器,其视图基本上是一个布局。假设我的布局在顶部有3个窗格,在底部有一个窗格。现在我在视图中有一个按钮,将布局更改为顶部的两个窗格和底部的两个窗格。所以基本上我的数据不会改变。它只是html和css的变化。 如果第一个布局填充了一些数据,我不想更改它或在更改布局时重新初始化它,因为更改只是布局上的更改而不是数据。

我很难弄清楚如何在angular2中实现这一目标。有任何想法吗?

2 个答案:

答案 0 :(得分:2)

所以你想添加html和css或者只是改变实际模板吗?

如果您只想更改实际的html,我个人建议您使用状态而不是不同的视图。并根据状态移动html。我自己也有同样的问题,我通过重新思考布局解决了这个问题,最终找到了一个更简单的布局结构。

希望这会有所帮助。 享受编码。

答案 1 :(得分:0)

您可以在一个模板中拥有两个视图,并通过设置平面来切换它们:

<div *ngIf="firstLayout">
  <!-- first layout -->
</div>
<div *ngIf="!firstLayout">
  <!-- first layout -->
</div>