我在Angular2中使用路由器(测试版17.到目前为止,无法使RC与rails配合使用)。 它一切正常,直到我只是在一个组件内部设置组件作为路径。
一旦我这样做了,Route就会只显示Child组件,而不再显示原本应该在那里的父列表。
这让我发疯了......
所以路由器配置:
@RouteConfig([
{
path: '',
name: 'Home',
component: MainComponent
},
{
path: '/demo-component/:id',
name: 'Demo Component Details',
component: DemoComponentDetail
},
])
主要组成部分:
<h1>Hello</h1>
<filter></filter>
<div *ngFor="let d of demo_components">
<p>{{ d.Name }}</p>
</div>
主要成分ts:
import {Component} from 'angular2/core'
import {Router} from 'angular2/router'
import {DemoComponentService} from '../shared/demo-component.service'
import {FilterComponent} from '../filters/filter.component'
@Component({
selector: 'main',
templateUrl: '/app/demo-components/main.component.html',
directives: [ FilterComponent ]
})
export class MainComponent{
demo_components: any[]
constructor(private router:Router, private service: DemoComponentService){
this.demo_components = this.service.getAllDemoComponents();
}
这是我不明白的地方: 如果我删除子组件的指令,我的列表运行良好(但我当然失去了过滤器组件)。 但是如果我按原样保留指令,那么我的List(* ngFor)不再显示,只显示过滤器子组件......
发生了什么事?你能否在Route使用的父组件中有一个简单的组件?