【问题标题】:How to come back to a component from another without reloading the component in angular?如何从另一个组件返回到另一个组件而不以角度重新加载组件?
【发布时间】:2020-04-30 12:49:39
【问题描述】:

我有一个包含多个子组件的 Angular 组件。它还具有根据组件内的条件隐藏和显示组件的逻辑。 例如。

 <div *ngFor="let data of dataSource; let i=index">
 <child-component [dataOne]="data.one"></child-component>
 <mat-divider></mat-divider>
 <second-child-component [dataTwo]="data.two"></second-child-component>
 </div>

我想实现在不刷新页面的情况下向后导航并返回到之前位置的功能。

我通过在构造函数中注入Location 并使用它的back() 方法来做到这一点。但是它会重新初始化前一个组件。

我该怎么做?任何帮助将非常感激。谢谢!

【问题讨论】:

  • location.back() 仅适用于路线,而不适用于您要执行的操作。相反,您需要一种存储显示/隐藏组件的条件历史记录的方法。

标签: javascript angular


【解决方案1】:

如果通过返回同一个地方你的意思是滚动到那里,你可以使用这样的东西:

  scroll(el: HTMLElement) {
    el.scrollIntoView();
  }

在this post中查看更多信息

如果你不想再次渲染数据,你可以尝试用 CSS 隐藏它 或者

使用position: absolute 和bottom:-10000 移出屏幕

或

display: None

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 2018-10-18
    • 2018-01-08
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2019-08-03
    相关资源
    最近更新 更多