![](/img/trans.png)
[英]What could be the best approach to pass data in nested child components, in Angular?
[英]Angular 2-7: What's the best approach of hiding/showing components on same URL?
由于某些平台限制,我无法使用“路由”-不同的URL导航到不同的组件。
换句话说,只有http://localhost.com/default
我设法将所有子组件作为父组件放置在AppComponent中,并使用变量来指示要通过ui操作隐藏和显示哪个子组件,以便操纵布局。
<app-user-panel
[hidden]="!showUser"
(closed)="onUserPanelClosed($event)"
></app-user-panel>
<app-items-panel
[hidden]="!showItems"
(closed)="onItemsPanelClosed($event)"
></app-items-panel>
由于存在大量组件,因此ts文件中的代码很混乱。
我想知道是否有不使用booleans和ngIf来显示或隐藏子组件的更好方法?
解决方案1:路由是否具有高级功能以导航到同一URL上的不同组件?
结果2:使用路由参数?
解决方案1:路由是否具有高级功能以导航到同一URL上的不同组件?
是的,您可以改用哈希定位策略。 这样,您的页面仅按角度路由。
示例: http : //localhost.com/#/user您的服务器不会尝试返回用户页面,而是angular将对其进行评估并呈现用户屏幕。
您唯一需要做的就是用true初始化useHash
@NgModule({
imports: [ RouterModule.forRoot(routes, {useHash: true})],
exports: [ RouterModule ]
})
这将是一个更好的解决方案,然后研究一种更干净的方式来隐藏和显示一页中的组件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.