我使用Angular2 CLI创建了一个新项目,并添加了一个名为item的路由。现在,我尝试通过调用网址http://localhost:4200/item
来访问html页面但它只显示标准:app正在运行!文本,而不是项目页面的内容。我也试过了 http://localhost:4200/#item 结果相同。
除了item.component.html之外,我没有更改任何代码。
知道我做错了什么,我是否应该在使用CLI时使用CLI?
由于
答案 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正在进一步改进。