@angular_js

Страница 235 из 325
Andrey
11.04.2018
20:38:32
может кто знает, у ангуляре есть $httpParamSerializer а есть обратное решение, типа со строки query string в object ?

Stas
12.04.2018
04:53:49
Ребят, подскажите оптимальное кол-во кода на контроллер и вью.штмл. И есть ли вообще какой-то +- стандарт? Просто функционала на странице довольно много, из за этого соответственно увеличилось кол-во кода. И я не знаю, стоит ли искать способ разбивать на куски.

Remite
12.04.2018
05:07:07
Чем меньше тем лучше

Google
Stas
12.04.2018
05:20:31
да нету стандарта, делай чанки, подгружай только если нужно подумай посиди, а нужно ли оно, а что будет, какой профит получишь или нет
понял спасибо, не уточнишь что такое чанки? как я понял ты имел ввиду просто разбить код по каким-то личным критериям?

Andrey
12.04.2018
05:22:40
понял спасибо, не уточнишь что такое чанки? как я понял ты имел ввиду просто разбить код по каким-то личным критериям?
отдельно собранные модули для твоей страницы, загружаются отдельно модуль понятие растяжимое, это не только nagular.module

Stas
12.04.2018
05:24:20
отдельно собранные модули для твоей страницы, загружаются отдельно модуль понятие растяжимое, это не только nagular.module
ну вот допустим у меня есть какой-то хедер в несчастных 10 строк штмл, есть ли смысл создавать отдельную директиву для этого? Я не знаю какой от этого профит, будет ли оно быстрее из за этого работать, если профит только убрать 10 строк кода в отдельный файл, то такой себе профит

Stas
12.04.2018
05:26:26
штмл 200 строк 13кб, контроллер 150 строк 5 кб, но это само собой не конец

по логике все действия и компоненты находятся именно там где должны быть, единственное несчастный хедер в 10 строк можно убрать и возмонжо менюшку в 10 строк

но контроллер это вообще никак не спасёт

Andrey
12.04.2018
05:28:16
это мало, так что забей, но почитай как разбивается на чанки

Stas
12.04.2018
05:29:10
это мало, так что забей, но почитай как разбивается на чанки
тут у меня больше вопрос в эстетике, как делают другие разработчики, что б был не совсем говно код, спасибо за совет

это мало, так что забей, но почитай как разбивается на чанки
визуально проглянул, примерно понятно, это как-то влияет на работоспособность сайта или это тоже чисто эстетическая штука для удобного размещения и чтения файлов?

Stas
12.04.2018
05:34:12
в твоем случаи это не страшно
И последний вопрос, так сказать на будущее моего мини проекта, у меня в голове эти файлы увеличатся еще где-то на 30%-50%. Терпимо?)

Google
Nickolay
12.04.2018
05:42:21
Можно написать шаблон в 10 строк, в котором ngRepeat, а потом пустить на миллион повторений его. И шаблон небольшой и контроллер, а все тормозит ?

Я к тому что все очень относительно

Andrey
12.04.2018
05:48:01
И последний вопрос, так сказать на будущее моего мини проекта, у меня в голове эти файлы увеличатся еще где-то на 30%-50%. Терпимо?)
ну ангуляр же позволяет инлайнить шаблоны и загружать их в рантайме есть еще $templateCache

Stas
12.04.2018
05:50:59
Я к тому что все очень относительно
тут я согласен полностью, но для новичков нужно хоть какое-то направление, постараюсь разбить на более логичные блоки

нежданчик, вынес хедер, менюшку и модальное окно в директивы, внезапно код штмл с 200 строк уменьшился до 100

Господа ангулярщики, подскажите как решить проблемку. Когда в модальном окне идёт сохранение каких-то данных, и обновление их на странице, модальное окно всегда закрывается. Не могу придумать как обновить данные не закрывая его, как бы на заднем плане.

Stas
12.04.2018
14:54:16
а с чего оно закрывается то?
Вот прям не знаю как ответить, я сам лично ничего не делал что б оно закрывалось. Отправляю данные на сохранение, делаю обновление данных в каком-то массиве и бух, оно пропало.

скорее всего из за обновления данных

Константин
12.04.2018
14:54:58
а что используешь в качестве модалки?

uibmodal?

Stas
12.04.2018
14:55:48
да не, ручками написал

нг шоу, и закрываю всю страницу просто элементом

ui modal мне что-то не пошёл, я пытался, но он мне не понравился

Константин
12.04.2018
14:58:28
да не, ручками написал
ну если ручками - значит и закрывается твоим кодом проверь места вызова метода для закрытия окна и изменение переменной для ng-show

Stas
12.04.2018
15:02:54
ну если ручками - значит и закрывается твоим кодом проверь места вызова метода для закрытия окна и изменение переменной для ng-show
Да уже всё что можно проверил, получается в модальном окне я действий не делаю, там есть еще дроп менюшка. Вот в ней делаю сохранение, а закрывается вся модалка. В этой дроп меню есть форма сабмит, она не может это делать?

кажется понял, смотри, у меня модалка вызывается из определённого таска, после сохранения этот таск куда-то переезжает и обновляется вся инфа на странице

и оно как бы заново создаёт этот элемент у которого модалка закрыта

Google
Stas
12.04.2018
15:10:44
похоже на правду
я смотрел перемещение элементов, после сохранения этот элемент переезжает в друго массив и как бы теряется фокус с него)

» у меня модалка вызывается из определённого таска, это как?
есть нг репит, у каждого из них вызывается окно со своими данными

Константин
12.04.2018
15:12:02
есть нг репит, у каждого из них вызывается окно со своими данными
и показ "каждого" окна зависит от переменной, которая лежит в ...?

и оно как бы заново создаёт этот элемент у которого модалка закрыта
почему показ модалки в твоем случае завязан на элемент?

Stas
12.04.2018
15:25:59
и показ "каждого" окна зависит от переменной, которая лежит в ...?
в определённом массиве, а эти массивы еще в массиве

почему показ модалки в твоем случае завязан на элемент?
потому как при перемещении мне его нужно вырезать из 1 массива и вставить в другой или я не так понял вопрос?

я кажется понял твою мысль, возможно ты прав)

Константин
12.04.2018
15:36:42
я кажется понял твою мысль, возможно ты прав)
попробуй отвязать логику показа/скрытия от данных

тогда не должно ничего закрываться

вообще постарайся избегать неочевидной логики на каждое логическое действие - только одна входная точка

чем более чистые у тебя функции - тем больше надежности при разных данных

https://ru.hexlet.io/courses/introduction_to_programming/lessons/pure/theory_unit

Неплохой материал по теме

Stas
12.04.2018
15:49:41
попробуй отвязать логику показа/скрытия от данных
отвязал модалку от элемента, теперь данные туда не доходят)

Константин
12.04.2018
15:50:06
отвязал модалку от элемента, теперь данные туда не доходят)
модалка точно лежит в области действия скоупа с данными?

Stas
12.04.2018
15:54:28
модалка точно лежит в области действия скоупа с данными?
видимо нет) как вариант можно попробовать данные через функцию передать

Константин
12.04.2018
15:55:43
видимо нет) как вариант можно попробовать данные через функцию передать
У тебя разметка модального окна генерируется на ходу или режит где-то заранее?

Stas
12.04.2018
16:01:45
У тебя разметка модального окна генерируется на ходу или режит где-то заранее?
проверил, когда в таске, то грузится сразу, когда вынес за пределы (там где не должно закрываться), там не сразу грузится

Константин
12.04.2018
16:05:07
Google
Stas
12.04.2018
16:06:19
что-то я не совсем понял что такое таска и что такое "грузится сразу"))
это просто элемент, и если возле него лежит этот код (он в директиве), то он вроде подгружается при загрузке страницы, а когда я его выношу за пределы, то не подгружается

Константин
12.04.2018
16:07:03
а, ну за пределами директивы данные конечно не попадут в модалку

Stas
12.04.2018
16:07:06
я кажется придумал что делать

Константин
12.04.2018
16:07:14
но копировать модалку в каждый элемент это жестко

Stas
12.04.2018
16:07:47
при нажатии этого элемента, я передам данные в функцию и через вм передам их в директиву

просто прийдётся переписать немного

спасибо за помощ

Константин
12.04.2018
16:08:05
я бы на твоем месте использовал uibmodal)

ты сейчас напишешь своих костылей, которые в целом будут дублировать uib

Stas
12.04.2018
16:11:28
окей, попробую, да мне там какие-то детали не понравились, но я думаю всё можно пофиксить

например меня раздражало что вываливалась ошибка когда жмёшь не ок/кенсел)

Константин
12.04.2018
16:16:37
какая ошибка?

не с $q случайно?

Stas
12.04.2018
16:34:15
честно говоря не помню, сейчас пытаюсь его прикрутить, что-то никак)

о, прикрутил)

вот эта раздражающая ошибка) Possibly unhandled rejection: backdrop click

Константин
12.04.2018
16:47:08
вот эта раздражающая ошибка) Possibly unhandled rejection: backdrop click
Я на ногах уже, гугли, я такого не встречал :)

Stas
13.04.2018
03:48:38
Я на ногах уже, гугли, я такого не встречал :)
В этом юайбиМодал, для того что бы обновлять данные, мне нужно передать туда всё что только можно, помимо нужно информации, пришлось передать весь массив массивов, сервисы для сохранения, данные которые вообще не нужны, но нужны для сохранения... В общем просто директиву мне кажется проще написать и передать туда только нужные данные, а глобальные там и так доступны, плюс не нужно переписывать функцию сохранения в контроллер для модального окна, так как она уже есть готовая в основном

Stas
13.04.2018
04:10:29
вы что-то не так делаете )
ну вроде как по их гайду делал, создал отдельный контроллер и вьюху для модалки, из основного контроллера через юайбимодал.оупэн передаются данные, а через vm. они не доступны

Google
Stas
13.04.2018
04:10:52
вы что-то не так делаете )
можно на ты, я молодой)

Andrey
13.04.2018
04:13:58
вот же пример нормальный передачи данных в 2 стороны https://jsfiddle.net/Harpreet_devgun/c6oxbg5o/

Stas
13.04.2018
04:21:38
я по этим примерам и делал, это не отменяет моего сообщения что туда должны передаваться все данные, у меня этот контроллер вызывается из основного

я немного ошибся, доступ к сервисам есть

Sergey
13.04.2018
07:12:58
Привет. А можешь на примере показать в чем вообще задача и каким образом ты её решаешь? Не на живом коде, тестовый пример? Ну или просто опиши задачу максимально простыми словами) Может тебе не нужен там модал?

Stas
13.04.2018
07:55:12
да я уже сам написал, без юайби модал

мне так удобнее оказалось

мне нужно было всего добавить 4 переменные для передачи данных

а модалка нужна просто по тз)

Sergey
13.04.2018
07:56:28
Ну то есть в модальном окне что-то вводить надо?

Stas
13.04.2018
07:56:40
да

Sergey
13.04.2018
07:56:50
Я просто не пойму зачем туда тащить сервисы и всю требуху

Stas
13.04.2018
07:57:07
у меня сервисы передают на сервер сохранение в бд

Sergey
13.04.2018
07:57:20
Забрал ввод, в хэндлере закрытия модала передал вызывающему коду

Stas
13.04.2018
07:57:21
либо возвращать данные в основной контроллер

Sergey
13.04.2018
07:57:27
А они там уже делают с ними что хотят

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