【发布时间】:2017-07-21 00:06:20
【问题描述】:
我在我的测试项目中使用 Angular 2 路由。已在 Module.ts 中导入路由。 我的应用程序上的仪表板页面面临问题。 Dash page of App
这个破折号组件包含一个事件组件,其中包含一个添加事件按钮和事件列表,如图所示。 我需要为添加新事件按钮添加路由,以便我可以渲染另一个用于创建新事件(事件表单)的组件。所以我已经为该按钮添加了 routerlink,如下所示
<button type="button" routerLink="/addevent" class="btn btn-primary">Add Event</button>
<div class="container">
<table class="table table-hover">
<thead>
<tr>
<th>Title</th>
<th>Created</th>
<th>Modified</th>
<th>Place</th>
<th>Task Title</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tr *ngFor="let evnt of events">
<td>{{evnt.title}}</td>
<td>{{evnt.created}}</td>
<td>{{evnt.modified}}</td>
<td>{{evnt.place}}</td>
<td>{{evnt.task.title}}</td>
<td class="text-center"><a class='btn btn-info btn-xs' href="#"><span class="glyphicon glyphicon-edit"></span> Edit</a> <a href="#" class="btn btn-danger btn-xs"><span class="glyphicon glyphicon-remove"></span> Del</a></td>
</tr>
</table>
</div>
并在破折号组件 html 中添加了路由器出口,因为我希望通过替换事件组件将新的表单字段组件显示在破折号页面中。
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<ul class="nav nav-sidebar">
<li class="active"><a href="#">Overview <span class="sr-only">(current)</span></a></li>
<li><a href="#">Reports</a></li>
<li><a href="#">Analytics</a></li>
<li><a href="#">Export</a></li>
</ul>
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<router-outlet>
<h2 class="sub-header">Section title</h2>
<event></event>
</div>
</router-outlet>
</div>
</div>
问题:
1 .单击添加新事件按钮时,仅显示新的事件表单组件,而不是显示在 dash 内的表单字段。 我希望通过替换事件组件将表单组件显示在破折号内。
- 如何在仪表板页面上为左侧菜单添加相同的路由选项,以便在右侧呈现相应的组件。
【问题讨论】:
-
如果您的破折号包含事件,您不能只用新表单替换它。在这种情况下,您必须将事件作为子项,并将新表单作为子项,根据用户的选择,表单或事件将呈现到您的破折号中的 routeroutlet。
标签: javascript angular