小编Ter*_*ger的帖子

按路线导航到的 Angular 6/7 辅助出口 - 清除主要出口,它不应该

延迟加载和使用命名的出口。我已经按预期加载了命名插座,但是当它加载时,它也会清除主要插座。我希望主插座保留它正在显示的组件,而只是将命名的插座更改为显示新组件。

感谢@pixelbits 的一些帮助......这是一个不起作用的例子https://stackblitz.com/edit/angular-sw6cmc

我不想改变主要出口。

html

<router-outlet></router-outlet>
<router-outlet name="dialogOutlet"></router-outlet>
Run Code Online (Sandbox Code Playgroud)

路线:

 {    
    path: 'packoutdialog'
    , children:[
      {path:'', outlet:'dialogOutlet', component: PackoutComponent}]

  },
Run Code Online (Sandbox Code Playgroud)

其中任何一个都将填充 dialogOutlet 但清除主要

 this.router.navigate(['inventory', 'packoutedialog'])
this.router.navigate(['packoutdialog',{outlets:{'dialogOutlet':[]}}],{skipLocationChange: true, relativeTo: this.activatedRoute.parent});
Run Code Online (Sandbox Code Playgroud)

这似乎应该有效,但没有。

this.router.navigate([{outlets:{'dialogOutlet':['inventory','packoutdialog']}}])
Run Code Online (Sandbox Code Playgroud)

预期的结果是主路由器插座将视图保留在其中,只有命名插座发生变化。目前,命名插座正在按预期变化,但主要插座正在清除。

routing lazy-loading angular angular-auxiliary-routes

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

MVC WebApi在C#中传递一个对象

我需要在我的mvc webapi上找到一个来自和过去的日期,以便在这些日期之间检索项目.这是我最喜欢的尝试,但没有奏效(我尝试了几件事).

我有一个在项目之间共享的对象:

public class SchedulerDateSpan
{
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的get控制器类:

public IEnumerable<Appointment> GetAppointments(SchedulerDateSpan dates)
{
   IEnumerable<Appointment> appointments =
   db.Appointments.Where(
   a =>
   (a.StartDate <= dates.StartDate && a.EndDate >= dates.StartDate) || (a.StartDate <= dates.EndDate && a.EndDate >= dates.EndDate) ||
   (a.StartDate > dates.StartDate && a.EndDate < dates.EndDate)).AsEnumerable();
   return appointments;
}
Run Code Online (Sandbox Code Playgroud)

这是来自客户端的调用,其中日期类型为SchedulerDateSpan:

var client = new HttpClient { BaseAddress = new Uri(Properties.Settings.Default.SchedulerWebApi) };

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage resp = client.GetAsync(String.Format("api/Appointments/{0}",dates)).Result;

if (resp.IsSuccessStatusCode) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc json asp.net-web-api

3
推荐指数
1
解决办法
1万
查看次数