История изменений
Исправление AndreyKl, (текущая версия) :
В целом по яваскрипту у меня вот что:
item.Name != null & item.Name != ''
По-моему идеоматически будет ожидать что у тебя либо число, либо всё остальное, и проверка такого рода сокращается до просто
if(item.Name) {
return !!item.Name
Т.е. в итоге 33 строка должна выглядеть проще, вместо
if (item.id == null & item.Name != null & item.Name != '') {
if (!item.id && item.Name) {
если же ты правда хочешь именно проверки на нулл, надо юзать === вместо ==. Потому что то что у тебя сейчас написано будет выполняться как
!item.id && item.Name
А по ангуляру в основном по организации кода.
Я бы объявил отдельный файл services.js и отдельный файл controllers.js.
Каждая страница - отдельный контроллер (у тебя сейчас один - должно быть два, соотвественно). Каждый сервис - отдельный сервис. Т.е. должно быть минимум два сервива - categories и items.
Кроме прочего я засунул бы в файл сервайсес сервис мессаджей и инйектил бы его и дёргал бы alertShow этого сервиса. как то более порядочно получается. это я про L14 и в целом про то что сервисы в файле контроллеров. может у тебя тестовое приложение, но ты критики хотел, а в ангуляре так не принято делать (потому что тестирование затрудняется значительно), так что наверное в кассу.
Кроме того фильтрация очень просто делается фильтрами ангуляра, то я про L119
Исходная версия AndreyKl, :
В целом по яваскрипту у меня вот что:
item.Name != null & item.Name != ''
По-моему идеоматически будет ожидать что у тебя либо число, либо всё остальное, и проверка такого рода сокращается до просто
if(item.Name) {
return !!item.Name
Т.е. в итоге 33 строка должна выглядеть проще, вместо
if (item.id == null & item.Name != null & item.Name != '') {
if (!item.id && item.Name) {
если же ты правда хочешь именно проверки на нулл, надо юзать === вместо ==. Потому что то что у тебя сейчас написано будет выполняться как
!item.id && item.Name
А по ангуляру в основном по организации кода.
Я бы объявил отдельный файл services.js и отдельный файл controllers.js.
Каждая страница - отдельный контроллер (у тебя сейчас один - должно быть два, соотвественно). Каждый сервис - отдельный сервис. Т.е. должно быть минимум два сервива - categories и items.
Кроме прочего я засунул бы в файл сервайсес сервис мессаджей и инйектил бы его и дёргал бы alertShow этого сервиса. как то более порядочно получается. это я про L14 и в целом про то что сервисы в файле контроллеров. может у тебя тестовое приложение, но ты критики хотел, а в ангуляре так не принято делать (потому что тестирование затрудняется значительно), так что наверное в кассу.
Кроме того фильтрация очень просто делается фильтрами ангуляра, то я про L119
Вроде всё, правда остальные файлы не глядел.