Size: a a a

Советский Angular

2020 September 16

ДМ

Денис Макаров... in Советский Angular
Dima
🥳
ух
источник

S

Smooth Operator in Советский Angular
Dima
Капитализация вклада
штош
источник

S

Smooth Operator in Советский Angular
мои поздравления
источник

D

Dima in Советский Angular
Smooth Operator
мои поздравления
Благодарю
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Alex Kulagin 🏡
Хочу публично сказать огромное спасибо @thekiba за помощь. Очень приятно когда можно придти к GDE со своей проблемой, а он поможет советом что где улучшить и проблема решит.

Лис, огромное тебе спасибо, человечище🤟🚀✨🦊
Я хочу сказать всем спасибо! Все молодцы, и давайте и дальше помогать друг другу ✨💖
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
источник

𝕮[

𝕮𝖍𝖎𝖕𝖎ˢᶜᵃᵐ [20.3к/100... in Советский Angular
источник

AH

Alena Hrenovskaya in Советский Angular
Что-то я запуталась)
источник

AH

Alena Hrenovskaya in Советский Angular
Раньше на селекты, в value которых попадают объекты приходилось вешать [compareWith]="defaultEqual" и в КАЖДОМ компоненте, где это нужно держать такую функцию:
defaultEqual<T>(dir1: T, dir2: T): boolean {
   return dir1['id'] === dir2['id'];
 }

Я тут такая деловая, решила сделать директиву:
@Directive({
 selector: '[equalSelect]'
})
export class EqualSelectDirective implements OnChanges {
 @Input() equalSelect: MatSelect;

 ngOnChanges(changes: SimpleChanges): void {
   if (isOnChanges(changes.defaultEqual)) {
     this.equalSelect.compareWith = this.defaultEqual;
   }
 }

 defaultEqual<T>(dir1: T, dir2: T): boolean {
   return dir1['id'] === dir2['id'];
 }
}

А мне вот выдает Property equalSelect is not provided by any applicable directives nor by mat-select element и она не отрабатывает и чёт в замешательстве
источник

S

Smooth Operator in Советский Angular
похоже что директива не задекларирована
источник

S

Smooth Operator in Советский Angular
или модуль с декларацией не импортирован
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Alena Hrenovskaya
Раньше на селекты, в value которых попадают объекты приходилось вешать [compareWith]="defaultEqual" и в КАЖДОМ компоненте, где это нужно держать такую функцию:
defaultEqual<T>(dir1: T, dir2: T): boolean {
   return dir1['id'] === dir2['id'];
 }

Я тут такая деловая, решила сделать директиву:
@Directive({
 selector: '[equalSelect]'
})
export class EqualSelectDirective implements OnChanges {
 @Input() equalSelect: MatSelect;

 ngOnChanges(changes: SimpleChanges): void {
   if (isOnChanges(changes.defaultEqual)) {
     this.equalSelect.compareWith = this.defaultEqual;
   }
 }

 defaultEqual<T>(dir1: T, dir2: T): boolean {
   return dir1['id'] === dir2['id'];
 }
}

А мне вот выдает Property equalSelect is not provided by any applicable directives nor by mat-select element и она не отрабатывает и чёт в замешательстве
MatSelect надо через constructor получать
источник

AH

Alena Hrenovskaya in Советский Angular
Smooth Operator
похоже что директива не задекларирована
не, это все сделано
источник

AH

Alena Hrenovskaya in Советский Angular
Вертихвост キバ 🏡🦊
MatSelect надо через constructor получать
хм
источник

S

Smooth Operator in Советский Angular
штош
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
вопрос закрыт?)
источник

S

Smooth Operator in Советский Angular
не знаю
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
@Directive({
 selector: 'mat-select[equalSelect]'
})
export class EqualSelectDirective<T> {
 constructor(@Host() select: MatSelect) {
   select.compareWith = this.defaultEqual;
 }

 defaultEqual(dir1: T, dir2: T): boolean {
   return dir1['id'] === dir2['id'];
}
}
источник

AH

Alena Hrenovskaya in Советский Angular
ой, а уменя так сработало:

constructor(private select: MatSelect) {
   select.compareWith = this.defaultEqual;
 }

 defaultEqual<T>(dir1: T, dir2: T): boolean {
   return dir1['id'] === dir2['id'];
 }
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Alena Hrenovskaya
ой, а уменя так сработало:

constructor(private select: MatSelect) {
   select.compareWith = this.defaultEqual;
 }

 defaultEqual<T>(dir1: T, dir2: T): boolean {
   return dir1['id'] === dir2['id'];
 }
какой селектор у mat-select?
источник