У меня есть 2 компонента, Профиль & Изображения (оба имеют разные маршруты). Я хочу получить доступ к одной переменной из профиля в компоненте Image.переменная доли между компонентами с использованием излучателя событий в угловом2?
У меня есть одна кнопка в Компонент BusinessList, когда пользователь нажимает на эту кнопку, он должен перенаправляться на домашнюю страницу, где я добавляю один элемент в localstorage.
В профиле домашней страницы, изображениях и контактах находятся на разных вкладках.
После нажатия кнопки в BusinessList активируется вкладка профиля. Здесь я получаю местный пункт хранения, хранение его одной переменной - ту же переменную я хочу получить к нему доступ из изображения, контакты --- ушки
Вот мой Профиль Компонентный
import { Component, OnInit} from '@angular/core';
@Component({
moduleId: 'module.id',
selector: 'my-profile',
templateUrl: '../views/business.images.html',
})
export class BusinessProfileComponent {
public userAction: any;
constructor(private router: Router, activeroute: ActivatedRoute,
BusinessSettingService: BusinessSettingService) {
this.userAction = localStorage.getItem("action")
BusinessSettingService.userTakenAction.next(this.userAction);
console.log(this.userAction, ' this.userAction')
}
}
Здесь userAction является разделяемые данные между компонентами,
изображение компонент
import { Component, OnInit} from '@angular/core';
@Component({
moduleId: 'module.id',
selector: 'my-core',
templateUrl: '../views/business.images.html',
})
export class BusinessImagesComponent{
constructor(private router: Router, BusinessSettingService: BusinessSettingService) {
BusinessSettingService.userTakenAction.subscribe(value => {this.userImageaction= !value;})
}
BusinessSettingService
import { Injectable,Output,EventEmitter } from '@angular/core';
@Injectable()
export class BusinessSettingService {
public userTakenAction: EventEmitter<string> = new EventEmitter<string>();
}
Я создал пользовательский сервис для компонентов с помощью EventEmitter
, это хороший подход к решению этого сценария, или есть лучший способ сделать это?
Я не смог получить значение userAction в компоненте Image .. Пожалуйста, помогите мне решить эту
Отображаются ли компоненты профиля и изображения на разных страницах (по разным маршрутам)? Или они отображаются как компоненты на одной странице? –
Да, разные страницы (по разным маршрутам) – Runali
Итак, вы хотите, чтобы один компонент сообщал другому, когда что-то происходит? И отправьте ему несколько данных? –