Size: a a a

Angular - русскоговорящее сообщество

2020 March 18

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Ivan Stroykin
Всем привет. Почему может показываться в IDE ошибка Property dataSource is not provided by any applicable directives nor by table element но при этом великолепно работать?
Суть: Написал свой компонент таблицы на основе Table CDK от Angular Material, и когда используем в темплейте, к примеру, <table app-table [dataSource]="dataSource">... ругается, но только в IDE🤔
ну и как импортируется в модуль, где декларирован компонент использующий директиву из примера выше
источник

MT

Maxim Tselikin in Angular - русскоговорящее сообщество
Всем привет! Назрел вопрос:
допустим у меня есть подписка
control.valueChanges
 .pipe(
   takeUntil(this.destroy$),
   switchMap(v => this.http.get(url, { params: { query: v }})
 ).subscribe()

Наскока я знаю http сами комплитятся
источник

IS

Ivan Stroykin in Angular - русскоговорящее сообщество
о, кстати VSCode правильно видит: (property) CdkTable<T>.dataSource: CdkTableDataSourceInput<T>
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
Ivan Stroykin
ну это обходной путь, это тогда можно просто забить, но не будешь же всей команде постоянно говорить об этом, тем более у всех разные IDE
Как я понял, дело тут не в коде а в среде, так что как не крути придется обходные пути искать)
источник

MT

Maxim Tselikin in Angular - русскоговорящее сообщество
Насколько необходимо в этом случае отписываться? Т.е. нужен тут takeUntill?
источник

IS

Ivan Stroykin in Angular - русскоговорящее сообщество
Beck Rakhimov
Как я понял, дело тут не в коде а в среде, так что как не крути придется обходные пути искать)
ну а почему от Material Components нормально?) Реализация один в один, просто немного расширенная получилась, но основа такая же
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Ivan Stroykin
о, кстати VSCode правильно видит: (property) CdkTable<T>.dataSource: CdkTableDataSourceInput<T>
у вебшторма самописный angular language server, который работает с шаблонами, бывали с ним проблемы
источник

IS

Ivan Stroykin in Angular - русскоговорящее сообщество
В webstorm при наведении на [dataSource] ошикбка: Cannot find declaration to go to
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Ivan Stroykin
ну а почему от Material Components нормально?) Реализация один в один, просто немного расширенная получилась, но основа такая же
что по импортам?
откуда и как импортируется TableDirective?
источник

IS

Ivan Stroykin in Angular - русскоговорящее сообщество
Dmitry Teplov
что по импортам?
откуда и как импортируется TableDirective?
то что необходимо, это импорт из TableComponent который наследуется от CdkTable

export class TableComponent<T> extends CdkTable<T> { ... }
источник

MS

Maxim Sundeev in Angular - русскоговорящее сообщество
Maxim Tselikin
Насколько необходимо в этом случае отписываться? Т.е. нужен тут takeUntill?
Во-первых takeUntil всегда должен быть последним оператором перед subscribe. А насколько необходимо не отвечу, т.к. на практике так и не понял какие сайд эффекты в реальности могут быть.  В этой статье есть примеры, но насколько это реально, проблемы получить если не отпишемся, решай сам. P.S. сам всегда отписываюсь. https://medium.com/ngx/why-do-you-need-unsubscribe-ee0c62b5d21f
источник

IS

Ivan Stroykin in Angular - русскоговорящее сообщество
По сути я просто взял реализацию компонента от Material Components и всё, уже тут сразу начались с этим проблемы, но при этом всё работает
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
))
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
с Intellij такая же беда
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
я бы не заострял на этом внимание
источник

IS

Ivan Stroykin in Angular - русскоговорящее сообщество
это от Material?)
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
это даже не ошибка
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Maxim Tselikin
Насколько необходимо в этом случае отписываться? Т.е. нужен тут takeUntill?
да, нужен
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
Ivan Stroykin
это от Material?)
Да
источник

IS

Ivan Stroykin in Angular - русскоговорящее сообщество
🤔 а у нас от Material такой ошибки не показывает
источник