路由到也应该路由的组件

时间:2018-08-16 12:29:49

标签: angular angular-routing

我有一个带有路由器插座的组件(我们称其为“祖父”)。

在“祖父”组件中,我导航到另一个也有路由器插座的组件(我们称其为“父”组件)。在“父”组件中,我导航到另一个组件(我们称其为“孙子”)。

“父母”和“孙子”都接收ID的参数(相同)。 我想知道如何配置它并对其应用路由。

查看相关代码:

“祖父”组件:

<div>
  <router-outlet></router-outlet>
</div>
this.router.navigate(['XXX/Update', id]);

“父级”组件:

<router-outlet name="BasicView"></router-outlet>
this.router.navigate(['XXX/Update/View',  id]);

该模块中的路由配置:

const appRoutes: Routes = [
{ path: 'XXX', component: "grandfather"},
 children:[ 
  { path: ':action/:id', component: "parent",
    children:
    [
      {path: 'View/:id', component: "grandson", outlet:'taskBasicView'}
    ] 
  }
 ]
}];

1 个答案:

答案 0 :(得分:0)

查看解决方案:

public interface IBaseRepository
{
    Task<T> AddData<T>(string namespaceName,string typeName);

    Task<T> AddData<T>(int namespaceName, string typeName);
}

public abstract class BaseRepo : IBaseRepository
{
    public async Task<T> AddData<T>(string namespaceName, string typeName)
    {
        return JsonConvert.DeserializeObject<T>(namespaceName.ToString());
    }

    public async Task<T> AddData<T>(int namespaceName, string typeName)
    {
        return JsonConvert.DeserializeObject<T>(namespaceName.ToString());
    }
}

public class Testing : BaseRepo
{
    public async Task<Testing> Add(string namespaceName, string typeName)
    {            
        return await AddData<Testing>(namespaceName,"");
    }

    public async Task<Testing> Add1(int namespaceName, string typeName)
    {
        return await AddData<Testing>(namespaceName, "");
    }
}

在“祖父”组件中:

const appRoutes: Routes = [
{ path: 'XXX', component: "grandfather"},
 children:[ 
  { path: ':action/:id', component: "parent",
    children:
    [
      {path: '', component: "grandson", outlet:'taskBasicView'}
    ] 
  }
 ]
}];

无需在“父级”中进行路由。