我有Projects Module
,其中包含Projects List
组件。 Project List
组件会显示所有用户所有项目的列表。
现在我有Dashboard Module
,其中包含User Dashboard
个组件。 User Dashboard
组件应仅显示该用户的项目列表。
现在,我已导出Project List
组件并已将其导入Dashboard Module
,并在User Dashboard
组件模板中添加了模板选择器。
导出项目列表组件:
exports: [ProjectListComponent]
在仪表板模块中导入:
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {DashboardComponent} from './components/dashboard.component';
import {ProjectModule} from "../projects/project.module";
@NgModule({
imports: [
CommonModule,
ProjectModule
],
declarations: [DashboardComponent]
})
export class DashboardModule {
}
添加用户信息中心模板:
<project-list></project-list>
以上工作,它会在project-list
组件中显示User Dashboard
的模板。
的问题:
是否可以使用新数据填充<project-list></project-list>
(即只有用户投影而不是所有用户项目)
这甚至可能吗?我做错了吗?
答案 0 :(得分:0)
class ProjectList {
@Input() projectListData;
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.projectListData = this.projectListData ? this.projectListData : this.route.snapshot.data['projectListData']
}
}
如果您未将数据传递到输入(<project-list></project-list>
),则projectListData
将为undefined
。因此路由数据被分配给projectListData
。
否则(<project-list [projectListData]="projectListData"></project-list>
),将使用您作为输入传递的数据。
在模板中,
<tr *ngFor="let project of projectListData">
...
</tr>