У меня есть эта проблема, кнопка с меткой, связанной с данными, что-то вроде:
<button>{{label}}</button>
Мне нужно изменить ее значения в зависимостичто на экране.И это в основном просто, я просто изменяю значение label
в моем component.ts.
Проблема в том, что после некоторых изменений в системе мне нужно, чтобы это происходило при использовании другого компонента.Эта кнопка всегда находится на экране, на MainComponent
, но когда вы набираете FooComponent
(нажимая на определенные вещи на экране), мне нужно изменить ее ярлык.
Для этого я создал Main.service.ts
, где я создал переменную label
и просто вызвал ее значение в mainComponent.
Это сервис:
@Injectable({
providedIn: 'root'
})
export class MainService {
constructor() { }
label = "IntialFoo";
foo01() {
this.label = 'foo01';
}
foo02() {
this.label= 'foo02';
}
И компонент:
export class MainComponent extends BaseService<any> implements OnInit {
constructor(
private mainService: MainService,
...
) {
super(...);
}
...
label = this.mainService.label;
Теперь, скажем, я импортирую свой сервис в свой fooComponent, я бы вызвал функции сервиса для изменениязначение label
работает в сервисе.И это проблема, кнопка не меняет своих значений, и это потому, что переменная не перечисляется в сервисе, она просто получает свое значение один раз, а затем она не изменяется.
Итак, как мне сделать, чтобы моя переменная label
(в mainComponent) в реальном времени меняла свое значение в соответствии с label
в сервисе?