如何显示来自其他组件的登录表单?
问题描述:
我有共同的标题组件和页脚组件。头部组件在模型弹出窗口中有登录表单脚本。当用户点击这些组件中的添加评论按钮时,我想显示登录模型弹出如HomepageComponent
,CountryDetailComponent
,ExploreListComponent
& DetailedPageComponent
。我的代码在这里。如何只显示一个登录模式弹出所有?如何显示来自其他组件的登录表单?
APP-routing.module.ts
const routes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{ path: 'home', component: HomepageComponent,},
{ path: ':city', component: CountryDetailComponent },
{ path: ':city/:subscategory', component: ExploreListComponent },
{ path: ':city/:subscategory/:singleitem', component: DetailedPageComponent },
];
app.component.ts
import { Component } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'my-app',
template: `
<app-header></app-header>
<router-outlet></router-outlet>
<app-footer></app-footer>
`,
})
export class AppComponent { }
header.component.ts
import { Component,Renderer } from '@angular/core';
import { Title } from '@angular/platform-browser';
@Component({
moduleId: module.id,
selector: 'app-header',
template: `header.component.html`,
})
export class HeaderComponent {
constructor(title: Title) { }
}
header.component.html
<div>
/* header menu here */
</div>
<div>
/*login form here */
</div>
答
这是一种处理事件的黑/白同级组件
我认为你需要这样的:
您可以使用EventEmitter,
http://plnkr.co/edit/XJwjQ6L7s95mmwHqbu9H?p=preview
备注:
您可以SE
<router-outlet (eventFromComponent)='handleClickEvent($event)'></router-outlet>
路由器的出口是在你的app-component
,所以你需要编写handleClickEvent
功能存在。然后,您只需将值传递给标题组件即可。在更改事件标题将显示登录表单。
你能否用我的代码创建plunkr? – vel
请问您是否可以使用您现有的代码为我创建一个调度程序,我将根据此改变此问题。 @vel –
或者我们可以为登录创建单独的组件吗? – vel