@angular_js

Страница 236 из 325
Stas
13.04.2018
07:58:26
я изначально неверно подошёл к задаче, но Костя натолкнул на идею, что модалка не должна быть привязана к элементу

Sergey
13.04.2018
07:58:27
Внутри модального окна?

Stas
13.04.2018
07:58:35
и внутри и за модальным

вот этот юайби на сколько я понял в главный контроллер вернёт данные после сохранения модального окна

Google
Stas
13.04.2018
07:59:22
или же нужно в контроллере модального окна вызывать сервис для сохранения

да на самом деле там руками его писать 3 минуты

натянул полотно на весь экран и вставил в центре элемент

при том что у меня 2 разные модалки и у них есть общие компоненты

мне так было проще сделать

Sergey
13.04.2018
08:00:56
Просто кейс какой-то очень странный. Элемент который перекрывает контент обновляет перекрытый контент

Не ну раз получилось, то ладно)

Stas
13.04.2018
08:01:35
это обычный трелло

там есть действие которое закрывает модалку, а есть которое не закрывает

https://trello.com/ зайди поклацай если интересно)

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

Sergey
13.04.2018
08:06:20
Без кода идею не могу объять

Я бы передавал в модал колбэк, если так сильно надо, который бы по клику стрелял

Google
Sergey
13.04.2018
08:07:18
И обновлял бы данные в родителе и соотв. в модале

Stas
13.04.2018
08:09:24
возможно ты и прав, но почему не сделать свой функционал. Я имею ввиду что у меня всё нормально работает, всё разбито по нужным директивам, единственно что есть 4 лишние глобальные переменные, но нет лишнего контроллера с передачей этих же переменных и колбэками)

Sergey
13.04.2018
08:10:14
Звучит так будто у тебя скоупы не изолированы и controllerAs не используется

Ну или я не так понял термин "глобальные переменные"

Stas
13.04.2018
08:10:52
контроллер эс вм я использую

и в директивы через вм к ним есть доступ

это не правильно?

Sergey
13.04.2018
08:11:43
Да не, я не критикую, я пытаюсь понять что вообще происходит)

Stas
13.04.2018
08:12:07
так я и спрашиваю правильно или нет, возможно я смогу улучшить что-то если я не правильно делаю

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

Sergey
13.04.2018
08:14:07
Хорошо)

Stas
13.04.2018
08:15:02
правильно / не правильно ответа нет?)

Sergey
13.04.2018
08:16:26
Ну как я тебе без примера кода могу сказать правильный он или нет. Мы так можем весь день пытаться друг друга понять))

Stas
13.04.2018
08:17:05
вот код директивы

angular .module('trelloClone') .directive('boardMenu', boardMenu); function boardMenu() { return { restrict: 'EA', templateUrl: '/common/directives/boardMenu/boardMenu.template.html' }; }

ну и во вьюхе лежит сам элемент

подгрузка идёт на главной странице, то-есть код этой директивы просто спрятан через ng-show

и при клике нужной кнопки я его открываю и передаю туда нужные данные

Sergey
13.04.2018
08:22:32
А как ты передаёшь, там биндингов нет

Или есть?

Google
Stas
13.04.2018
08:26:07
вроде нет, не очень понял вопрос)

данные передаются через vm.blablabla

и соответственно в директиве (точнее в штмл для директивы) получаются таким же образом

Sergey
13.04.2018
08:29:05
А в чём смысл такой директивы?

Зачем этот код выделять в отдельную сущность?

Он же зависит от внешнего кода, причём неявно

Stas
13.04.2018
08:30:00
просто что бы уменьшить кол-во в главной штмл, так как там уже найти что-то сложно было

плюс некоторые компоненты просто для повторного использования

Sergey
13.04.2018
08:30:42
Но логика работы меню я так понял в глагне контроллере осталась?

Ты эту директиву не можешь переиспользовать

Stas
13.04.2018
08:31:45
Но логика работы меню я так понял в глагне контроллере осталась?
Ты имеешь ввиду все действия сохранения и т.д.? Тогда да

Sergey
13.04.2018
08:32:00
Ну в меню наверняка кнопочки есть, они что-то делают

Stas
13.04.2018
08:32:02
Ты эту директиву не можешь переиспользовать
как не могу, я её и так использую)

у меня есть директива дроп меню, она используется в 2 разных директивах

Sergey
13.04.2018
08:33:01
И эти 2 разных реализуют методы для работы этой директивы

Stas
13.04.2018
08:33:06
Ну в меню наверняка кнопочки есть, они что-то делают
кнопочки, все действия в основном контроллере

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

Sergey
13.04.2018
08:34:04
Не-не

Обработка вот кнопок на меню

Stas
13.04.2018
08:34:59
Обработка вот кнопок на меню
ну обработка кнопок в директиве, а после нажатия кнопки отправляется в главный контроллер

Google
Stas
13.04.2018
08:35:36
хотя я наверное не понял вопроса)))

Sergey
13.04.2018
08:38:04
Ну то есть не можешь ты её встроить куда попало, в коде контроллера должны быть методы которые вот этот html дёргает.

А какие она хочет методы никто не знает)

Stas
13.04.2018
08:40:02
так она в основном штмл встроена <board-menu></board-menu> вот так, а я просто либо показываю либо скрываю её

она как бы принадлежит главному контроллеру

Sergey
13.04.2018
08:41:08
Ну вот то место куда она встроена должно в своём коде содержать логику работы с меню

То есть я не понимаю что вообще эта директива инкапсулирует

Stas
13.04.2018
08:42:46
инкапсулирует ничего

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

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

и соответственно для повторного использования я так же подключил как и в главной штмл

Sergey
13.04.2018
08:44:49
У тебя вызывающий код должен знать про то что в его шаблоне используется эта директива и называться строго vm и содержать гвоздями прибитые в коде директивы названия методов

Stas
13.04.2018
08:46:08
кажется я ничего не понял)))

Sergey
13.04.2018
08:49:27
Ты ng-include изобрёл

Stas
13.04.2018
08:51:15
У тебя вызывающий код должен знать про то что в его шаблоне используется эта директива и называться строго vm и содержать гвоздями прибитые в коде директивы названия методов
Такс, помоги разобраться. у меня есть какая-то директива, которая просто хранит в себе штмл. Я её просто подключаю в штмл. То есть на сколько я понимаю это тот же штмл что и на главной странице, просто вынесен в отдельный файл для удобства.

Данные из главного контроллера скорее всего не будут доступны (во всяком случае так было с юайби модал). А вот сервис и директивы были доступны (директивы были без данных)

Ты ng-include изобрёл
я у мамы инженер

Sergey
13.04.2018
08:54:22
Ну смысла в отделении этого в директиву я не вижу, просто подключать произвольный кусок кода есть уже ng-include. В директивах обычно изолируют какую-то внутреннюю логику. Всё общение с внешним миром через биндинги, сейчас принято компоненты использовать, с one-way биндингами. Ну то есть в параметрах директивы явно указаны входные данные, колбэки, вот это всё.

Представь что тебе надо подключить себе из какой-то библиотеки допустим дейтпикер. И для этого твой код контроллера должен непременно содержать метод onDatesChangedOlolo() и переменную d___a____t___e потому что в html дейтпикера разработчик так всё назвал + ещё 100500 обработчиков внутренней логики.

Stas
13.04.2018
09:00:10
кстати да, мне нужен будет дейт пикер)

Google
Stas
13.04.2018
09:00:20
я смотрел в сторону опять таки юай)

Sergey
13.04.2018
09:01:39
Вот там будет директива в которую ты пропихиваешь модель в разметке, прописываешь обработчики смены даты. А как он внутри там решает показывать например календарь сейчас или нет, например, это его личные проблемы, твой код ничего про это не знает.

Stas
13.04.2018
09:01:53
точно, ты прав, я изобрёл свой нг инклуд)))

Sergey
13.04.2018
09:01:56
Ну то есть наружу выставлено только то что нужно потребителям

Stas
13.04.2018
09:01:57
я просто ничего про него не знал)

соответственно появляется вопрос, стоит ли переделать на нг инклуд или оставить в директивах?)

Sergey
13.04.2018
09:08:09
Да я думаю ты сам придёшь к ответу по ходу дела, подумай, можно ли это меню вообще отделить, какая логика в нём внутренняя, а какая нужна клиентам, ну, тем кто его использует

Может директиву стоит укрупнить до объекта который использует эту менюху и вообще не нужна там отдельная директива именно меню

Stas
13.04.2018
09:11:59
На всякий случай уточню, директива должна использоваться либо с жёстко зашитыми данными либо с изолированными. А если нужно просто разбить немного код что бы лечге было находить что-то где-то, то нужно использовать нг инклуд. Всё верно? И еще уточнение, могу ли я этот нг инклуд использовать в разных нг инклудах?)))

Sergey
13.04.2018
09:19:02
https://github.com/johnpapa/angular-styleguide/issues/444

Stas
13.04.2018
09:27:35
во, так я так же и сделал как он рекомендует))

ладно, спасибо тебе за помощь, буду разбираться, и так уже много времени на меня потратил)

Vladislav
13.04.2018
09:28:20
Здарова мужики

подскажите есть ли в галпе чтонить на подоби http://joxi.ru/Dr8RqdEikG0Pa2

Sergey
13.04.2018
09:28:49
ладно, спасибо тебе за помощь, буду разбираться, и так уже много времени на меня потратил)
Да не за что, может я спешу насладиться последними моментами телеги, пока она ещё есть))

Stas
13.04.2018
09:32:26
)))

ну я из Украины, у нас же тут вк заблокировали, это не мешает людям его юзать)))

так же и у вас с телеграмом будет)

Sergey
13.04.2018
09:57:26
так же и у вас с телеграмом будет)
Я не уверен что так сильно люблю телегу, при наличии альтернатив) В слаке должны быть аналогичные каналы, на случай БП.

Bohdan
13.04.2018
10:39:32
ну я из Украины, у нас же тут вк заблокировали, это не мешает людям его юзать)))
и онлайн массово упал, потому что лень включать впн каждый раз

подскажите есть ли в галпе чтонить на подоби http://joxi.ru/Dr8RqdEikG0Pa2
галп тут не при чем тут шаблонизатор какой то нужно юзать

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