Игорь Головин, я за полгода вкатился пройдя курс. Если есть деньги, чтобы не работать полгода, это лучший вариант.
Если совмещать с работой это может растянуться непонятно на сколько.
Единственное, не разобрался как при таком подходе сделать чтобы возвращался не только object тип, но и дженерик (как в дефолтном клиенте). Мне кажется это невозможно (думаю если было бы возможно ребята из Гугла не стали бы писать 15 оверлоадов). Поэтому оставил эту идею и вынес в отдельный метод. (Т.е. просто put отдельно, с опшинами отдельно.)
acwartz, у меня в метод (get, put...) передается 2 колбека - beforeRequest, afterRequest, где исполняется код до и после реквеста, как правило это сет лоадинг стейта в сторы. + на каждом методе (get, put...) есть пайп, который ловит ошибки.
Дмитрий Беляев, да я тоже его видел, но сегодня времени разобраться не хватило, попробую завтра, но в принципе даже с тайпкастом пойдет, главное чтобы return type возвращался нормальный. Да и вообще я это все затеял только потому что в паре запросов юзаются блобы и бафферы, так-то там json в 99% случаев, просто было интересно сделать такую обёртку, особенно после того как ничего толкового на эту тему не нашел в Гугле. Спасибо за помощь ещё раз)
LastDragon, всмысле как передать? Также как и обычному инпуту - Добавлением директивы formControl или formControlName.
Ну он и не писал что у него форма простая будет. А масштабировать темплейт дривен форму та ещё боль. Да и багов с аксессером я не замечал, если есть какие-то общеизвестные - делись )
Не совсем понял вопрос, но судя по children.html у тебя не реализован valueAccessor?
А вообще когда начинаются вопросы типа "как мне из дочернего компонента менять стейт родительского", стоит сесть и задуматься - что я делаю не так? Это же нарушение концепции однонаправленного потока данных, которое превращает код в помойку. (
Отстойно объяснил, но в инете уже достаточно примеров погугли, там и на кошечках с собаками и на трансформерах с дельфинами, я даже хз что тебе ещё надо.
Один интерфейс:
interface Animal {
Свойства и методы, например
speak()
}
Множество реализаций:
class Dog implements Animal {...}
class Man implements Animal {...}
Реализация метода speak у классов может отличаться, но в коде бы будем работать с интерфейсом, что позволит заменять конкретные реализации при необходимости.
//Где-то в коде
zastavitGovorit(animal: Animal) {
animal.speak()
}
В функцию заставить говорить может быть передана любая реализация Animal, и код будет работать независимо от того какая именно реализация была передана. + Мы можем в любое время добавить новые реализации помимо Man и Dog, т.е. система будет легко расширяться.
Если совмещать с работой это может растянуться непонятно на сколько.