使Angular2路由器与多个

时间:2017-03-08 00:59:47

标签: angular angular2-routing

用户可以从许多不同的网址来到我的SPA。

/page1
/page2
/page3

我托管此应用的网络服务器受到保护。并且用户案例已经出现在某些页面上,我们想要关闭保护。

所以我想要/ p / page1 /p/page2之类的东西,将是受保护的页面。如果用户尝试在不记录的情况下访问它们,则会将它们重定向到登录页面。否则,如果尝试访问/ u / page3,他们将能够加载页面。在加载页面之后,用户当然可以访问任何spa页面,那时我会在进行服务请求时检查是否已登录。但是我希望通过在Web服务器上设置保护层来节省时间并快速完成任务。

问题在于,角斗士似乎没有使用/ p / page1的路径。而且我也尝试过/ p与子页面1和页面2,似乎没什么用。如何设置第一个目录与任何组件关联的路径,它只是出于组织目的。

编辑:

我的路由器

export const appRoutes: Routes = [
  { path: '', children:[
    { path: 'u', children:[
      { path: 'landing', component: Landing } 
    ]},
    { path: 'p', component: Enroll, children:[
      { path: 'enroll', component: Enroll },
      { path: 'manage', component: Manage },
    ]}
  ] }
];

/u/landing will not work.
/p/enroll will not work.
/p will work though.

自动生成html,至少在包含js文件时,js文件没有被正确获取。

<body cz-shortcut-listen="true">
  <!--#include file="../assets/test.html"-->
  <div class="hp-main-container">
    <!--<enroll-header>Header Loading...</enroll-header>-->
    <app-root>Loading...</app-root>
  </div>
<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script>

</body>

ERROR:

 https://my.site.com:80/p/main.bundle.js 404 ()

修复:

<base href="./">

已更改为

<base href="/">

0 个答案:

没有答案