如何在Angular 2中调用标头组件函数到另一个组件? [英] How to call header component function to another component in angular 2?
本文介绍了如何在Angular 2中调用标头组件函数到另一个组件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从另一个组件调用showmodel(displayType)
.如何将标头组件函数调用到另一个组件?
I want to call showmodel(displayType)
from another compoent.How to call header component function to another component?
header.compoent.ts
import { Component,Renderer } from '@angular/core';
import { Title,DOCUMENT } from '@angular/platform-browser';
import { CountriesService } from '../services/countries.services';
import { Router,ActivatedRoute, Params } from '@angular/router';
import { AuthenticationService } from '../services/authentication.service';
import { Observable } from 'rxjs/Observable';
import {FacebookService, InitParams, LoginResponse,LoginOptions} from 'ngx-facebook';
@Component({
moduleId: module.id,
selector: 'app-header',
templateUrl: 'header.component.html',
styleUrls: ['../app.component.css'],
})
export class HeaderComponent {
public visible = false;
public visibleAnimate = false;
public visibleRegister = false;
public visibleAnimateRegister = false;
registerformcont= false;
registerActive = true;
loginactive = false;
currentUser: any = {};
PopupTitle='';
callBackfunc='';
responseNameCheck:any={};
LoginOptions:any={};
response:any={};
FacebookResponse:any={};
constructor(
title: Title,
private countriesService: CountriesService,
private Router: Router,
private authenticationService: AuthenticationService,
private fb: FacebookService
) {
let initParams: InitParams = {
appId : '*********',
cookie : true,
xfbml : true,
version : 'v2.8'
};
fb.init(initParams);
Router.events.subscribe((val) => {
this.searchResultCont = false;
this.showStyle = false;
});
}
ngOnInit() {
this.currentUser = JSON.parse(localStorage.getItem('currentUser'));
if(this.currentUser){
this.loginStatus = this.currentUser.status;
}
}
public showmodel(displayType): void {
this.visible = true;
this.visibleAnimate = true
}
public hide(): void {
this.visibleAnimate = false;
setTimeout(() => this.visible = false, 300);
}
}
app.component.ts
@Component({
selector: 'my-app',
template: `
<app-header></app-header>
<router-outlet></router-outlet>
<app-footer></app-footer>`,
styleUrls: ['../app/app.component.css'],
})
export class AppComponent {
}
推荐答案
在父组件中使用viewChild.
make use of viewChild in your parent component.
在您的应用程序组件中-
in your app component -
@ViewChild(HeaderComponent) headerComponent : HeaderComponent;
然后使用
headerComponent.headerMethodName();
您想要调用的HeaderComponent中的任何方法.
any method from HeaderComponent you want to invoke.
这篇关于如何在Angular 2中调用标头组件函数到另一个组件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文