Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angular 4中使用路由器url通配符?_Javascript_Html_Node.js_Angular - Fatal编程技术网

Javascript 如何在Angular 4中使用路由器url通配符?

Javascript 如何在Angular 4中使用路由器url通配符?,javascript,html,node.js,angular,Javascript,Html,Node.js,Angular,我想为每个具有/admin或具有此类URL的路由显示标题组件/admin/dashboard、/admin/users、/admin/tasks等 app.component.html <div id="page-wrap" class="inner-page {{router.url}}" *ngIf="router.url === '/admin'; else templateName"> <app-header></app-header> &

我想为每个具有/admin或具有此类URL的路由显示标题组件/admin/dashboard、/admin/users、/admin/tasks

app.component.html

<div id="page-wrap" class="inner-page {{router.url}}" *ngIf="router.url === '/admin'; else templateName">

  <app-header></app-header>

  <div class="page-content-wrap">

    <app-sidebar></app-sidebar>

    <div class="content-wrap panel-right">
        <router-outlet></router-outlet>
    </div>

  </div>

</div>

<ng-template #templateName>

  <div class="inner-page {{router.url}}">

    <div class="container">
        <flash-messages></flash-messages>
        <router-outlet></router-outlet>
    </div>

  </div>

</ng-template>

但是上面的代码只接受/admin。您知道如何添加通配符以便它接受具有/admin/tasks、/admin/users的路由吗

这是需要改进的条件:

<div id="page-wrap" class="inner-page {{router.url}}" *ngIf="router.url === '/admin'; else templateName">


非常感谢您的帮助。

您可以编写一个方法来检查url是
/admin
还是以
/admin/
开头:

isAdminRoute(value: string): boolean {
  return /^\/admin(\/|$)/.test(value);
}
并在模板中调用它:

<div *ngIf="isAdminRoute(router.url); else templateName" ...>

您可以编写一个方法来检查url是
/admin
还是以
/admin/
开头:

isAdminRoute(value: string): boolean {
  return /^\/admin(\/|$)/.test(value);
}
并在模板中调用它:

<div *ngIf="isAdminRoute(router.url); else templateName" ...>

谢谢你的主意。我正在努力让你的代码发挥作用谢谢你@ConnorsFan工作得很卖力谢谢你的想法。我正在尝试让您的代码正常工作谢谢@ConnorsFan像一个角色一样工作您可以使用
子路由
用于所有管理路由演示:您可以使用
子路由
用于所有管理路由演示: