在 Angular 中单击按钮后导航到另一个组件中的特定 div?

发布于 2025-01-09 22:13:47 字数 657 浏览 0 评论 0原文

我在桌子顶部有一个按钮。当用户单击该按钮时,用户应该能够登陆第二页中的第 2 部分

我尝试如下,但它只进入该页面,而不是登陆到第 2 节 div 元素 有人可以解释我怎样才能实现这一目标吗?

.firstPage.ts

addLease(){
    this.router.navigateByUrl('/secondPage/' + this.id);
  }

.firstPage.html

<button class="btn btn-primary btn-sm  ms-2" (click)="addLease()">  Lease Comp </button>

secondPage.html

<div #container>
  ............
  <div id="section1">
    .......
  </div>

  <div id="section2">
    ....
  </div>

</div>

I have a button on the top of a table. When user clicks that button, user should be able landed to the section 2 in the second page.

I tried as below but it's going only to that page, not landing to the section 2 div element
Can someone explain how can I achieve this?

.firstPage.ts

addLease(){
    this.router.navigateByUrl('/secondPage/' + this.id);
  }

.firstPage.html

<button class="btn btn-primary btn-sm  ms-2" (click)="addLease()">  Lease Comp </button>

secondPage.html

<div #container>
  ............
  <div id="section1">
    .......
  </div>

  <div id="section2">
    ....
  </div>

</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无声情话 2025-01-16 22:13:47

您可以将您的 div id 添加为查询参数

addLease(){
  this.router.navigate(
    ['/secondPage/' + this.id],
    { queryParams: { destination: 'yourDivId' } }
  );
}

并将其获取到您的第二个组件中并使用它滚动到该 div

 ngOnInit() {
    this.route.queryParams
      .subscribe(params => {
        document.getElementById(params.destination).scrollIntoView()
      }
    );
  }

您需要进行检查,例如不要使用不在 HTML 中的 ID...

You can add your div id as query params

addLease(){
  this.router.navigate(
    ['/secondPage/' + this.id],
    { queryParams: { destination: 'yourDivId' } }
  );
}

And get it in your second component and use it to scroll to that div

 ngOnInit() {
    this.route.queryParams
      .subscribe(params => {
        document.getElementById(params.destination).scrollIntoView()
      }
    );
  }

You need to make checks for example as to not use IDs that are not in your HTML...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文