2016-05-13 4 views
1

Я использую Angular2. У меня есть BehaviorSubject.Недвижимость 'getValue' не существует для типа 'Предмет <boolean>'

isOpen$: Subject<boolean> = new BehaviorSubject<boolean>(true); 

Когда я использую, как это, чтобы получить последнее значение

isOpen$.getValue() 

Он хорошо работает, но терминал дает мне предупреждение:

недвижимости 'getValue' не существует на типе 'Subject<boolean>'

Как это решить?

ответ

4

Вы определяете его как Subject<boolean> но назначая его от BehaviorSubject<boolean>(true). В TypeScript тип свойства избыточен при его назначении. Удалите декларацию следующим образом:

isOpen$ = new BehaviorSubject<boolean>(true); 

Затем статический анализатор будет правильно обрабатывать его, как и следовало ожидать. Тип Subject<boolean> не содержит метода getValue.

+0

Большое вам спасибо! –

+0

@HongboMiao, рада помочь –

1
isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true); 

Затем статический анализатор Alao знает getValue() существует.

Subject не имеет getValue()

+0

большое спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^