LINUX.ORG.RU

История изменений

Исправление AndreyKl, (текущая версия) :

В целом по яваскрипту у меня вот что:

L33

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, :

В целом по яваскрипту у меня вот что:

L33

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

Вроде всё, правда остальные файлы не глядел.