Pull to refresh
8
0
Ильгам Габдуллин @ilgamgabdullin

Frontend Developer

Send message
Спасибо, поправил.
Вы правы, немного неправильно выразился.
Просчитать положение и размеры всех элементов за один проход получится, только если «элементы, встречающиеся в потоке позже, не влияют на позицию и размеры уже пройденных элементов».
Благодарю вас за вопрос

Обучаясь в основном по англоязычным ресурсам, лично для меня «101» стало достаточно естественным, как и многое в айти пришедшее к нам из-за рубежа и используемое в повседневной жизни.


Благодарю вас за полезный комментарий:)

Спасибо за ваш комментарий!
Действительно была неточность, вы правы
Статью поправил.
Спасибо за ваш интерес к статье!

Если я правильно вас понял, то есть необходимость в обработке ошибок внутри кастомного контрола
Для этого вам нужна ссылка на FormControl из внешней формы
Сделать это достаточно просто с DI (и долей грязной черной магии)

в классе кастом контрола инжектим:
constructor(
    @Optional() @Self() public control: NgControl
  ) {
    if (control) {
      control.valueAccessor = this; // иначе ошибка Uncaught Error: Template parse errors: Cannot instantiate cyclic dependency! NgControl
    }
} 


и в метаданных убираем провайдер NG_VALUE_ACCESSOR. Взято отсюда.
Добрый день!)
Спасибо за ваш комментарий!
Array.prototype[Symbol.iterator] действительно переписывает существующую в Array.prototype реализацию итератора, но в статье мы так не делаем =)

В данной статье я хотел показать как мы можем написать свою сущность которая реализует Symbol.iterator, так же как javascript в Array.prototype, String.prototype и так далее
+ показать как использовать конструкции языка для взаимодействия с нашей сущностью.

Как заметил limitofzero, это действительно хороший пример полиморфизма)

Добрый день!
Благодарю за полезный комментарий)
Статью поправил
Спасибо за интересную статью! Действительно I wish I knew this before...)

Есть вопрос по части DI
Вы говорите:

С местом разобрались, перейдем к самому механизму. Если мы просто указали provideIn: root в сервисе, это будет эквивалентно следующей записи в модуле:

@NgModule({
    // ... здесь другие свойства модуля
    providers: [{provide: JokerService, useClass: JokerService}],
})
export class JokesModule {}



Но в то же время чуть выше есть выражение:
Во все приложение — указываем provideIn: ‘root’ в самом декораторе сервиса.


Правильно понимаю что в вашем примере JokesModule является рутовым? По дефолту рутовым является AppModule, если не указано другое.
Не критично, но может ввести в некоторое заблуждение)

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity