@angular_js

Страница 246 из 325
Stas
29.04.2018
14:30:15
track by id стоит делать однозначно
в нг репите такое не выйдет, так как этот трек на даёт перемещать элементы

ошибки вываливает, я пробовал

что-то вроде попытки дублирования, не помню

Bohdan
29.04.2018
14:30:56
Google
Bohdan
29.04.2018
14:31:27
тут есть подвох если у вас пагинация
Я переменные касаемо пагинации всегда отдельно хранил, хз, все нормально было

Andrey
29.04.2018
14:32:48
Я переменные касаемо пагинации всегда отдельно хранил, хз, все нормально было
если вы трекаете by $index там где есть id, то будут у вас проблемы

Bohdan
29.04.2018
14:33:06
если вы трекаете by $index там где есть id, то будут у вас проблемы
Так я же так никогда и не делаю и никому не советую)

Stas
29.04.2018
14:33:22
нене, я трэк делал по айди из монго

не по $index

Andrey
29.04.2018
14:33:50
https://ru.stackoverflow.com/questions/705068/angularjs-%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D1%8F%D0%B5%D1%82-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8-ng-repeat

Sergey
29.04.2018
14:39:43
в нг репите такое не выйдет, так как этот трек на даёт перемещать элементы
Да всё там норм с перемещением, у меня track by uuid работает, проверь код перемещения

Stas
29.04.2018
14:44:08
И еще вопрос по поводу очистки штмл от действий, если прятать каждый клик типа "example = !example" для нг хайд/шоу и всего остального, то в контроллере появится лишних функций 100, как вы умудряетесь это всё спрятать?

Oleg
29.04.2018
14:45:12
декомпозиция на компоненты помельче?

Stas
29.04.2018
14:47:48
Да всё там норм с перемещением, у меня track by uuid работает, проверь код перемещения
Я не совсем верно описал, выдаёт ошибки при драг&дроп, при обычном выборе перемещения всё норм. Но в библиотеке поправлять я ничего конечно же не буду)

Sergey
29.04.2018
14:48:15
Ну вот у меня днд как раз и работает

Смотри свой код

Трекер работает ок

Google
Sergey
29.04.2018
14:48:51
Или ты пытаешься два раза один объект засунуть

Stas
29.04.2018
14:49:20
эту библиотеку используешь? https://github.com/marceljuenemann/angular-drag-and-drop-lists

Sergey
29.04.2018
14:51:06
Не, ещё более древний, ngdraggable

Какой-то конкретно так протухшей версии

Но код перемещения у меня свой, библиотека туда не лезет, ибо нефиг

Stas
29.04.2018
15:12:14
поставил только что трэк, оно срабатывает но выдаёт ошибку про дублирование, нажал на ошибку, посоветовало поставить по $index, там вообще просто убирает 1 элемент и дублирует на его место другой

перемещение делаю с помощью splice

Sergey
29.04.2018
15:21:55
Без трека у тебя работает встроенный компаратор, это медленно может быть

Ну покажи что ли код)

А ещё лучше plunkr где это воспроизводится

Stas
29.04.2018
15:22:53
сейчас кусок напишу

там много довольно

на планкер не выйдет

сейчас пока писал нашёл странный момент, проверю сначала, вдруг выйдет

у меня там есть драгэнд и драг мувд

взможно они дублируют друг друга

Алексей
29.04.2018
15:32:22
Не сильно шарю в js, но есть код который прослушивает изменение ползунков, но если написать значение вручную то оно собьется, как прослушивать ввод в инпут?





Google
Алексей
29.04.2018
15:32:31


Алексей
29.04.2018
15:36:36
Это что то на подобие у нас прод на ангуляре, но вот тебе фигня на js

Sergey
29.04.2018
15:38:59
Ну выкиньте jquery, перепишите на анлулар, хотя бы с ng-model и ng-change

Алексей
29.04.2018
15:40:24
Сложно, гораздо проще сколхозить колхоз, учитывая что это лишь 2% кода

Sergey
29.04.2018
15:42:38
Не ну ок

https://developer.mozilla.org/en-US/docs/Web/Events/change

Поработаю гуглом

Stas
29.04.2018
15:44:38
Разобрался с этом драг энд/мувд, но всё равно не помогло. Заметил странную штуку, когда я вывожу в консоль браузера список, показывает массив из 4 элементов, а внутри всего 3.

И вспомнил что эта библиотека, не вырезает элемент а просто прячет его. Возможно из за этого трэк не получается

так как есть спрятанный элемент и есть элемент для вставки

и это один и тот же элемент



вертикальная панда

точно

при драг старте вырезал, с трэком работает

спасибо)

теперь другие баги полезли

???

Sergey
29.04.2018
15:51:55
https://github.com/marceljuenemann/angular-drag-and-drop-lists/issues/414

Google
Sergey
29.04.2018
15:52:13
Ну там люди чем-то похожим занимались

Stas
29.04.2018
15:54:54
это больше мысли в слух

Sergey
29.04.2018
15:55:51
Ну главное что всё вроде получилось

Stas
29.04.2018
15:56:15
только теперь при перетаскивании в никуда, элемент просто пропадает)))

теперь нужно искать еще драгкэнсел

этот трэк бу айди стоит того?)

Bohdan
29.04.2018
15:58:04
этот трэк бу айди стоит того?)
Да Иначе звезда производительности

Stas
29.04.2018
15:59:28
Да Иначе звезда производительности
Понял, кстати, я вспомнил про вотчеры, я тогда писал что у меня их 600 штук, но я не учёл тот факт что я уже надобавлял элементов. При старте страницы без элементов их всего 60-70. А вот когда я добавляю штук 40 элементов, становится 600-700, а когда нажимаю переместить там за 1к переваливает.

читал что есть мифические 2к вотчеров, нужно добавить 100+ элементов и посмотреть на результат

Bohdan
29.04.2018
16:00:29
Етить боль первого ангулара)

Stas
29.04.2018
16:00:52
я был не прав по поводу что не выстрелю себе в ногу ?

Bohdan
29.04.2018
16:03:31
Вот я бы сбегал с первого ангулара при первой возможности, серьезно)

Stas
29.04.2018
16:04:23
да я ж думал просто фронтик для бэка сделать

но это жесть

Уже жалею что выбрал 1й, так как разбираться и тратить время на него не хочется

а приходится

Sergey
29.04.2018
16:18:33
Да разбираться всё равно надо будет. Но я согласен с нг1 надо бежать, оно умирает. Может ещё не поздно на 2+ перескочить? Мне например мигрировать тоже надо, но проект здоровенный, кодовая база при царе горохе создавалась, migration guide огромен, боль, страдания.

Google
Sergey
29.04.2018
16:19:36
Не, в любом фреймворке в смысле, везде своя боль

Stas
29.04.2018
16:19:47
Я себе проэктик для портфолио делаю, я не думаю что сейчас стоит заморачиваться над производительностью в 1м ангуляре

Не, в любом фреймворке в смысле, везде своя боль
а, ну это да, но ангуляр сейчас начинать учить не особо актуально

1й*

Sergey
29.04.2018
16:20:27
Вот и я не пойму как ты так его выбрал

По принципу мне пожалуйста страдать и бессмысленность бытия ощутить, как-то так)

Stas
29.04.2018
16:21:17
У меня были базовые знания по 1му, потом туду листик запилил быстро, думал чуть побольше сделать тоже быстренько и завис...

И тут еще 1 вопрос к вам появился, действия из штмл убираются для красоты или в этом есть другая логика?

ну там производительность/безопасность

Sergey
29.04.2018
16:27:54
О чем вообще речь? Пример можешь привести?

Stas
29.04.2018
16:28:27
да

Есть ng-show"example" например и есть ng-click="example = !example", но есть и посложнее конструкции, ng-click="example ? example = !example : example1 = !example1". Ребята подобное убирают в контроллер. Вот интересно кроме чистоты штмл есть ли ещё в этом смысл?

Sergey
29.04.2018
16:33:41
Не, я на такое не берусь однозначно ответить, у самого такой мусор в шаблонах болтается кое-где. Плохо тем что если это надо будет рефакторить то перелопатить придётся сотни говен в темплейтах.

Если спрятать под геттеры/сеттеры, то в твоём случае может быть лучше сделать так

Stas
29.04.2018
16:35:45
Ну это да, я понимаю уже что это мусор, но когда начинал не задумался. Мне больше интересно не со стороны красоты, а со стороны производительности.

Sergey
29.04.2018
16:36:24
Благо даже убогий огрызок жс их поддерживает

Stas
29.04.2018
16:38:50
Ладно, пожалуй пока что так оставлю, потом если что наведу красоту)

Sergey
29.04.2018
16:39:19
Договоры с совестью))

Stas
29.04.2018
16:41:38
Да не, и так уже кучу времени на это потратил, нужно сначала функционал до конца теперь доделать) Но в любом случае если буду еще что-то на этом ангуляре начинать (надеюсь нет), уже буду по другому делать)

Еще вопрос появился) Смотрите, когда я обновляю имя, по логике правильно будет отправить на запись в бд и при положительном ответе поменять имя. Но такая конструкция замедляет и немного сбивает процесс отображения. Есть другой вариант, менять надпись, отправлять в бд и потом обновлять данные. И есть 3й вариант, просто поменять надпись и отправить в бд, а потом уже отталкиваться от ошибок. Самый правильный мне кажется 1й, 2й более оптимальный в отображении и записи, а 3й работает лучше всего, но странный. Проконсультируйте плз.

Страница 246 из 325