小编Mar*_*cus的帖子

Angular 6 添加查询参数而无需重新加载

我正在使用自定义管道来过滤属性列表,并希望将选定的过滤器添加到 url,以便我的客户可以共享过滤后的列表

如果我使用它,那么页面将被重新加载:

this.router.navigate([], { relativeTo: this.activatedRoute, queryParams: { county: countyId }, queryParamsHandling: 'merge' });
Run Code Online (Sandbox Code Playgroud)

我试图添加这个,但结果相同(但没有写入浏览器历史记录):

skipLocationChange: true
Run Code Online (Sandbox Code Playgroud)

所需的功能是,当使用管道时,我更新查询参数,没有任何问题,这甚至可能吗?

我不想重新加载页面的原因是我有其他不需要重新加载的东西:)

angular

5
推荐指数
1
解决办法
8746
查看次数

Angular 9 取消订阅 NavigationEnd

我在路由器 NavigationEnd 上使用订阅,如下所示:

this.router.events
  .subscribe((event) => {
    if (event instanceof NavigationEnd) {
      this.getData();
    }
  });
Run Code Online (Sandbox Code Playgroud)

在同一路线中导航时,我需要它来更新页面数据,例如 /product1 和 /product2 使用相同的组件和路线,并在自定义路线服务中处理

这是为了当同一组件中的路由更新时获取数据,并且它按预期工作

问题是 this.getData() 在导航到另一个组件时也会运行,这会在我导航到的组件中产生很多问题,并且我还从服务器运行不必要的获取

所以问题是:当我离开组件时,我可以取消订阅路由器,这样 this.getData() 就不会运行吗?

typescript angular angular9

2
推荐指数
1
解决办法
2103
查看次数

C# 使用开始位置和循环对对象列表进行排序

我有一个奇怪的问题:)

我有一个看起来像这样的对象列表:

var list = new []
{
    new { Id = 1, Name = "Marcus" },
    new { Id = 2, Name = "Mattias" },
    new { Id = 3, Name = "Patric" },
    new { Id = 4, Name = "Theodor" },
};
Run Code Online (Sandbox Code Playgroud)

我想对提供“起始 ID”的列表进行排序

例如,如果我提供 "start id" 3,结果应该是这样的:

ID 姓名
3 帕特里克
4 西奥多
1 马库斯
2 马蒂亚斯

我不知道从哪里开始,所以我真的需要你们编码大神的帮助

该列表来自 sql 表,但对我来说排序发生的位置无关紧要(在 sql 查询中或在 c# 代码中)

c# sql linq

0
推荐指数
1
解决办法
76
查看次数

标签 统计

angular ×2

angular9 ×1

c# ×1

linq ×1

sql ×1

typescript ×1