Angular 如何将数据路由器出口组件连接到HeaderComponent?
我需要一些数据在路线出口组件到HeaderComponent 请查看我的下图。Angular 如何将数据路由器出口组件连接到HeaderComponent?,angular,Angular,我需要一些数据在路线出口组件到HeaderComponent 请查看我的下图。 您可以从共享服务发出事件,并在标题组件中订阅此事件,如: 在当前管线组件中: onEvent() { this.sharedService.changeTitle(newTitle); } 在职: titleChanged = new EventEmitter(); changeTitle(title) { this.titleChanged.emit(title); } 在标题组件中: title:
您可以从共享服务发出事件,并在标题组件中订阅此事件,如: 在当前管线组件中:
onEvent() {
this.sharedService.changeTitle(newTitle);
}
在职:
titleChanged = new EventEmitter();
changeTitle(title) {
this.titleChanged.emit(title);
}
在标题组件中:
title: string = '';
ngOnInit(){
this.sharedService.titleChanged.subscribe(title => this.title = title);
}
您可以从共享服务发出事件,并在标头组件中订阅此事件,如: 在当前管线组件中:
onEvent() {
this.sharedService.changeTitle(newTitle);
}
在职:
titleChanged = new EventEmitter();
changeTitle(title) {
this.titleChanged.emit(title);
}
在标题组件中:
title: string = '';
ngOnInit(){
this.sharedService.titleChanged.subscribe(title => this.title = title);
}
1)管理服务.ts
import {Injectable, EventEmitter} from "@angular/core";
@Injectable()
export class AdminService {
titleChanged = new EventEmitter();
constructor() {}
changeTitle(title) {
this.titleChanged.emit(title);
}
}
import { Component } from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'app-admin',
//providers: [AdminService],
template: `
<left-menu></left-menu>
<div class="main-panel">
<app-header [header_title]="_header_title"></app-header>
<div class="content">
<div class="container-fluid">
<div class="row">
<router-outlet></router-outlet>
</div>
</div>
</div>
<app-footer></app-footer>
</div>
`
})
export class AdminComponent {
public _header_title:string = "";
constructor(route: ActivatedRoute,private _admin: AdminService) {
this._admin.titleChanged.subscribe(title => this._header_title = title);
}
}
import { Component } from '@angular/core';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'user-profile',
templateUrl : `./app/user-profile/user-profile.component.html`
})
export class UserProfileComponent {
private username:string="Bharat Chauhan";
constructor(private _admin: AdminService) {
this._admin.changeTitle("User Profile");
}
}
2)应用程序组件.ts
import {Injectable, EventEmitter} from "@angular/core";
@Injectable()
export class AdminService {
titleChanged = new EventEmitter();
constructor() {}
changeTitle(title) {
this.titleChanged.emit(title);
}
}
import { Component } from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'app-admin',
//providers: [AdminService],
template: `
<left-menu></left-menu>
<div class="main-panel">
<app-header [header_title]="_header_title"></app-header>
<div class="content">
<div class="container-fluid">
<div class="row">
<router-outlet></router-outlet>
</div>
</div>
</div>
<app-footer></app-footer>
</div>
`
})
export class AdminComponent {
public _header_title:string = "";
constructor(route: ActivatedRoute,private _admin: AdminService) {
this._admin.titleChanged.subscribe(title => this._header_title = title);
}
}
import { Component } from '@angular/core';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'user-profile',
templateUrl : `./app/user-profile/user-profile.component.html`
})
export class UserProfileComponent {
private username:string="Bharat Chauhan";
constructor(private _admin: AdminService) {
this._admin.changeTitle("User Profile");
}
}
1)管理服务.ts
import {Injectable, EventEmitter} from "@angular/core";
@Injectable()
export class AdminService {
titleChanged = new EventEmitter();
constructor() {}
changeTitle(title) {
this.titleChanged.emit(title);
}
}
import { Component } from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'app-admin',
//providers: [AdminService],
template: `
<left-menu></left-menu>
<div class="main-panel">
<app-header [header_title]="_header_title"></app-header>
<div class="content">
<div class="container-fluid">
<div class="row">
<router-outlet></router-outlet>
</div>
</div>
</div>
<app-footer></app-footer>
</div>
`
})
export class AdminComponent {
public _header_title:string = "";
constructor(route: ActivatedRoute,private _admin: AdminService) {
this._admin.titleChanged.subscribe(title => this._header_title = title);
}
}
import { Component } from '@angular/core';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'user-profile',
templateUrl : `./app/user-profile/user-profile.component.html`
})
export class UserProfileComponent {
private username:string="Bharat Chauhan";
constructor(private _admin: AdminService) {
this._admin.changeTitle("User Profile");
}
}
2)应用程序组件.ts
import {Injectable, EventEmitter} from "@angular/core";
@Injectable()
export class AdminService {
titleChanged = new EventEmitter();
constructor() {}
changeTitle(title) {
this.titleChanged.emit(title);
}
}
import { Component } from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'app-admin',
//providers: [AdminService],
template: `
<left-menu></left-menu>
<div class="main-panel">
<app-header [header_title]="_header_title"></app-header>
<div class="content">
<div class="container-fluid">
<div class="row">
<router-outlet></router-outlet>
</div>
</div>
</div>
<app-footer></app-footer>
</div>
`
})
export class AdminComponent {
public _header_title:string = "";
constructor(route: ActivatedRoute,private _admin: AdminService) {
this._admin.titleChanged.subscribe(title => this._header_title = title);
}
}
import { Component } from '@angular/core';
import { AdminService } from '../common/service/admin.service';
@Component({
selector: 'user-profile',
templateUrl : `./app/user-profile/user-profile.component.html`
})
export class UserProfileComponent {
private username:string="Bharat Chauhan";
constructor(private _admin: AdminService) {
this._admin.changeTitle("User Profile");
}
}
您应该使用
sharedService
。服务数据将在组件之间共享。@micronyks:我知道使用sharedService。但是,有一个问题。如何自动更改标题?您应该使用sharedService
。服务数据将在组件之间共享。@micronyks:我知道使用sharedService。但是,有一个问题。如何自动更改我的标题?你的帖子很有用。但是,你的帖子中有一些错误。你有哪些错误?“OneEvent”只是一个示例名称,您可以从代码中标题更改的地方调用此方法……您的帖子绝对是我的解决方案。请出示我贴出的答案。我投了你的票:)你的帖子很有用。但是,你的帖子中有一些错误。你有哪些错误?“OneEvent”只是一个示例名称,您可以从代码中标题更改的地方调用此方法……您的帖子绝对是我的解决方案。请出示我贴出的答案。我投票给你的答案:):)