Angular 2 CLI路由不显示HTML内容

时间:2016-06-13 10:45:23

标签: angular angular2-cli

我使用Angular2 CLI创建了一个新项目,并添加了一个名为item的路由。现在,我尝试通过调用网址http://localhost:4200/item

来访问html页面

但它只显示标准:app正在运行!文本,而不是项目页面的内容。我也试过了 http://localhost:4200/#item 结果相同。

除了item.component.html之外,我没有更改任何代码。

知道我做错了什么,我是否应该在使用CLI时使用CLI?

由于

1 个答案:

答案 0 :(得分:1)

使用CLI尤其是新路由器有点问题,因为它是主动开发的。

CLI(atm)无法正确处理自动路由创建。现在我使用一种解决方法:

更新您的package.json以使用路由器版本

"@angular/router": "3.0.0-alpha.3"

将ROUTER_DIRECTIVES导入 parent.component.ts ,如

<强> parent.component.ts

import {ROUTER_DIRECTIVES} from '@angular/router';

其中 parent.component.ts 当然是您最全球的应用程序组件。不要忘记将ROUTER_DIRECTIVES插入parent.component.ts中的指令数组中以获得

<router-outlet></router-outlet>

标签可用。

然后在main.ts中,导入provideRouter和RouterConfig以手动将其添加到bootstraping中:

//other imports
import {provideRouter, RouterConfig} from '@angular/router'; 
import {HomeComponent} from './app/+home/home.component';
import {LoginComponent} from './app/+login/login.component';

bootstrap(parent.component.ts, provideRouter([
    {path: '/home', component: HomeComponent},
    {path: '/login', component: LoginComponent},
])`

我知道它有点难看,但它对我有用,我无法找到一种方法来使用本机路由功能,但可能(希望)改变而angular2和CLI正在进一步改进。