sto*_*oph 7 components directive typescript angular-cli angular
我简化了我的问题:
<div *ngIf="layout1" class="layout1">
<div class="sidebar-layout1">
some items
</div>
<child-component [something]="sth"></child-component>
</div>
<div *ngIf="!layout1" class="layout2">
<child-component [something]="sth">
<p>some content...</p>
</child-component>
</div>
Run Code Online (Sandbox Code Playgroud)
我有一个父组件,可以使用正常布局(layout1)和全屏布局(layout2)(在全屏模式下,子组件应该处于全屏状态)。问题是,当我使用 *ngIf 更改布局时,子组件将被销毁并生成一个新组件。我想要拥有相同的实例,并且不要丢失子组件的重要信息并避免一些 api 调用。
有没有什么方法可以实现子组件不会被破坏,或者有没有比 ngIf 更好的方法?
我只需要一个子组件实例来实现父组件中的不同布局。
使用 [hidden] 属性代替相反的逻辑,它将防止元素被破坏。
<div [hidden]="!layout1" class="layout1">
...
</div>
<div [hidden]="layout1" class="layout2">
...
</div>
Run Code Online (Sandbox Code Playgroud)
我隐藏只是通过更改显示样式来隐藏/显示带有 css 的 DOM 元素
| 归档时间: |
|
| 查看次数: |
1868 次 |
| 最近记录: |