2017-02-07 4 views
0

Мне было интересно, можно ли использовать значения переменных из одного компонента в другой без использования шаблона первого, просто нужно значение переменной ничего больше. Является ли это возможным?Как использовать переменную из компонента в другом в Angular2

+1

https://angular.io /docs/ts/latest/cookbook/component-communication.html – silentsod

+0

Вы можете написать метод get для значения в одном компоненте, используя его в другом компоненте –

+0

Не использует ли c hild компонент html в главном компоненте в этом примере? Как я уже сказал, мне просто нужно переменное значение. – Ayane

ответ

1

Да возможно, вы можете использовать метод @Input() или использовать метод получения писать, как показано ниже

export class Demo { 
    private sum: number = 10; 

    get sumValue() { 
     return this.sum; 
    } 
} 

импорт -> Демо

export class Demo2 { 
    private sum: number; 
    this.sum = Demo.sumValue(); 
} 
+0

Это сработало, спасибо за ваше время. – Ayane

+0

Еще одна вещь, это хорошо работает, когда переменная в компоненте 1 (Демо в этом случае) уже определена, в этом случае вы определяете ее как «10», когда вы ее объявляете, но что, если она не определена и вы должны сделать что-то первое в Демо, чтобы определить его. Потому что в этом случае, когда u вызывает его из Demo2, он считается неопределенным. – Ayane

+0

Что делать, если я не знаю имя класса с переменной переменной? Это может быть Demo, Demo3, Demo4. Например, если у меня есть три компонента, которые создают разные таблицы, и я хочу создать уникальный компонент, который отображает номера страниц. И этот постраничный блок ничего не знает о таблицах. – Radren