Задать вопрос
@Skrolea

Как обновить переменную в другом компоненте после добавления?

Добрый день. Хочу добавлять products в сервис и чтобы в хидере (а это другой компонент) обновлялось количество добавленного
Вот мой сервис (ну достаточно обычный)
import {Injectable} from 'angular2/core';
import {PRODUCTS} from '../components/products';
import {Product} from '../components/products';

export interface Cart  {
  id: Number;
  name: String;
}


@Injectable()
export class ProductService {
public products;
public cart : Cart[] = [];
  getProducts() {
  return Promise.resolve(PRODUCTS);
  }
  addToCart(products: Product) {
      this.cart.push(products);
  }
  getCart() {
    return this.cart;
  }
  getCartLength() : number {
    return this.cart.length;
  }
                            }

а вот хидер
import {Component} from 'angular2/core';
import {ProductsCmp} from '../products/components/products';
import {ProductService} from '../products/services/products-services';

@Component({
  selector: 'header',
  templateUrl: './header/header.html',
  directives: [ProductsCmp],
  styleUrls: ['./header/header.css'],
  providers: [ProductService]
})
export class HeaderCmp {
  constructor(public product:ProductService) {}
}

А как вот обновлять переменную в хидере, которая вызывается так
<p>{{product.getCartLength()}}</p>
когда я добавляю что-то еще в корзину?
Компонент header у меня подключен к app
<header></header>
  <router-outlet></router-outlet>
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы