JWT для аунтентификации, человеку же надо покупки товаров защитить. И тут интересная штука, ибо защита вся сводится к тому что бы запрашивать подтверждение платежа.
JIakki: у вас либо есть роутер, который ресолвит данные в ресолверах и прокидывает их в атрибуты директив, либо есть компонент на самом высоком уровне который забирает данные из сервиса.
Кирилл: у вас в контроллере есть функции addSu и removeSum, там и считайте сумму и просто записывайте значение. Как считать сумму через reduce если из моего примера не понятно - в документацию. Ну или через циклики.
Денис Денис: подумайте о UI как о композиции элементов. Мы имеем состояние приложение и по частям спускаем его в компоненты, которые его рендрят. И все. Их задача тупо отрендрить что дали. Это очень сильно упрощает тестирование компонентов. Отказ от $scope сильно упрощает тестирование контроллеро и устраняет кучу других проблем. Основная проблема это то что документация первого ангуляра не учит этому и это плохо.
$scope это внутренний механизм ангуляра который реализует биндинги. Не стоит его юзать самому (но иногда можно, в оооочень редких случаях и лучше 10 раз подумать перед этим). Единственное место где его можно юзать - link директивы которы тай же весьма редко приходится писать если хорошенько подумать.
Расшаривать данные между контроллерами в принципе ненадо, и не через фабрики а через сервисный слой, организовать хранение состояние где-нибудь там либо генерить его в ресолверах. Можете почитать про redux но это уже тип level up.
Алексей: да. У них может быть свое состояние заточенное под логику представления (типа флагов isEditing и т.д.) но именно забирать данные из сервиса сами они не должны. Им все данные прокидывают внутрь через биндинги и все.
Денис Денис: потому что в этом суть промисов. Они выстраиваются в цепочки что бы у вас появилась возможность контролировать асинхронные операции без необходимости лепить колбэк в колбэке.
Дядю боба надо очень осторожно читать. Идеи у него правильные но весьма категоричные. В этом плане стоит после сразу почитать чего-нибудь из фаулера по рефакторингу и в целом его заметки на тему traidable quality.
HoHsi: вы путаете особенности V8 в плане мономорфного/полиморфного кода и оптимизации оного в рантайме. После сборки TS в рантайме информации о типах не остается. Следовательно V8 вынужден оптимизировать все как обычно - вызвали функцию пару тысяч раз, прогнали через оптимизирующий компилятор если можем.
Енот Енотов, вы поймите, код чаще читают чем пишут. То что вы потратили на 30 секунд меньше времени при написании кода потом выльется вам в пол часа блуждания по гремучей смеси из PHP и SQL вспоминая что там происходит и т.д. С квери билдерами чуть проще в условии джуниор разработчиков.
Artem Solovev: путь к гормонии и счастью лежит через самодокументируемый код. Ну и самотестируемый, то есть покрытый юнит тестами. Код намного чаще читают чем пишут, и нужно упрощать именно процесс понимание что делает читаемый код.
BeriaFantom: неужто мало соц сетей написано? Повторюсь, все можно сделать на чем угодно. Вопрос трудозатрат и знаний. Проекты типа соц сетей выгоднее писать на PHP или Ruby.