@angular_js

Страница 194 из 325
Дмитрий Maestro
02.11.2017
15:04:11
то тут вотчер выручает

это тоже как то можно заменить ?

Viktor
02.11.2017
15:04:29
всего лишь 2?)))

Дмитрий Maestro
02.11.2017
15:04:36
ну пока да )

Google
Дмитрий Maestro
02.11.2017
15:04:45
ну я как бы на будущее хочу застраховаться )

Viktor
02.11.2017
15:04:51
помню начинались проблемы когда было 20-30К

Иван
02.11.2017
15:05:05
если вочтишь сервис, то там вариантов нет... ну rxjs... но если не собираешься мигрировать, то нафиг не сдалось

Дмитрий Maestro
02.11.2017
15:05:22
вотчю как раз таки сервис

эти 2 вотчера на них и висят

я получается с сервиса отслеживаю изменения и отрисовываю на вьюхе в зависимости от

того что пришло

Иван
02.11.2017
15:06:49
нормально, с пЫвом потянет...

Дмитрий Maestro
02.11.2017
15:07:04
хех)

спасибо за консультацию)

Иван
02.11.2017
15:08:32
а что по вотчу делаешь? много там логики представления... если нет, спускай всё сервис...

Дмитрий Maestro
02.11.2017
15:08:51
два md-select отрисовываю

ну верней перерисовываю

Google
Viktor
02.11.2017
15:10:46
Слушай)) ты можешь попробовать redux подключить

если прям совсем хочешь все вотчеры под контроллем держать)

Дмитрий Maestro
02.11.2017
15:11:22
это реактовская штука ?

Viktor
02.11.2017
15:11:25
ИМХО. Первому не хвататло именно своего редакса)

Иван
02.11.2017
15:11:40
я не силён в мд библиотеке, но если там подменить массивчик вариантов, то вполне можно спустить в сервис и забиндиться на сервисную пропертю

Viktor
02.11.2017
15:11:42
ну по сути это отдельно существующая библиотека хранилище

Иван
02.11.2017
15:14:05
честно щас боюсь сломать то что уже работает ))
ну тогда не парься... нормальный подход, если он не начинает выходить из-под контроля... вот с 20-30К вотчеров я бы на первой сотне задумался, что что-то пошло не так

Дмитрий Maestro
02.11.2017
15:15:04
не ну так то на это странице пару , на второй пару

Viktor
02.11.2017
15:15:07
Кстати там было норм, но потом все стало множиться и стало страшно)) спасло vue с его частичным внедрением)

Дмитрий Maestro
02.11.2017
15:15:08
так до сотки и дойдет

Иван
02.11.2017
15:17:30
Viktor
02.11.2017
15:18:09
Ну так лучше не делать, но в качестве опыта было полезно

Дмитрий Maestro
02.11.2017
15:18:33
не мне тимлид руки оторвет если я в ангуляр заихну компоненты реакта )\

Иван
02.11.2017
15:19:00
Ну так лучше не делать, но в качестве опыта было полезно
так лучше не делать, то первым же делом посоветовал вкорячить редакс ?

Viktor
02.11.2017
15:19:43
Тут контекст у товарища, важно держать вотчеры под контролем) а что лучше их сдержит под контролем, чем отдельное хранилище всех данных)

Иван
02.11.2017
15:23:27
так до сотки и дойдет
слушай, два-три вотчера на компонент - нормальная ситуация, не вижу проблемы... если там поднимается к десятке, то скорее всего нужно уже начинать подозревать, что компонент слишком много делает и его нужно начать колоть на более мелкие... вотч сам по себе не такой уж плохой подход, пока все варианты обозримы и контролируемы.

Алексей
02.11.2017
15:23:50
а почему впринципе так много вотчеров? что у вас там такое? +1 к Ивану

Google
Дмитрий Maestro
02.11.2017
15:25:15
ну щас примерно так и есть на 1 компонете 1-3 вотчера

Anb
02.11.2017
15:26:54
Товарищи подмоги пожалуйста

Достался проект на кофескрипте с ангуляром не могу понять в чем проблема https://pastebin.com/gY6e0Dgi

Не выводит ничего

При это мнет стектрейса в консоли

Есть ли способ вывести все зарегистрированные кастомные диррективы?

Иван
02.11.2017
15:34:25
Достался проект на кофескрипте с ангуляром не могу понять в чем проблема https://pastebin.com/gY6e0Dgi
я не уверен, что там вообще написано, помоему пустышка какая-то, но если и она не показывается, то я бы начал с замены "MyDirective" на "myDirective"

Anb
02.11.2017
15:35:11
template: '<div>hello directive</div>' replace: true собственно говоря это hello world

Иван
02.11.2017
15:37:25
template: '<div>hello directive</div>' replace: true собственно говоря это hello world
имена директив записываются в кэмел-стиле (с маленькой буквы)... ну по крайней мере в нормальном джаваскрипте

Ruslan
02.11.2017
15:38:09
с кофе все ок, синтаксис адекватен, что-то в самом конфиге

Anb
02.11.2017
15:39:34
Удивительно

Дело в камел кейсе было

Иван
02.11.2017
15:40:28


Anb
02.11.2017
15:40:38
Видимо angular все заглавные буквы транслирует

в -/:/...{w}

Google
Ruslan
02.11.2017
16:01:41
т.е. директиву нужно было использовать так: <-my-directive> ?

Max
02.11.2017
16:15:43
Всем привет ребята , подскажите как юзать $watch на проекте, говорят что он юзалса в далеком 2013

Alexey
02.11.2017
16:59:28
Max
02.11.2017
17:00:11
мне надо проект старий

Дмитрий Maestro
02.11.2017
17:38:26
Есть хороший паттерн EventEmitter
Это отдельно от ангуляра?

Alexey
02.11.2017
17:40:54
мне надо проект старий
я вас не понимать

Bauyrzhan
02.11.2017
17:47:31
Это отдельно от ангуляра?
Это шаблон проектирования

Можешь его заимплиментить к себе в проект

Дмитрий Maestro
02.11.2017
17:47:51
Ознакомлюсь

Max
02.11.2017
17:56:22
сказали что на проекте будет использования $watch есть примере где он используетса ?

Ilya
02.11.2017
18:04:56
Бегите оттуда

Max
02.11.2017
18:52:08
Да вообще не вариант, знаю что будет полная жесть

Проект 2013 года уже его не перепишет никто даже на 1.6

А фичы надо пилить

Алексей
02.11.2017
20:14:49
А фичы надо пилить
это тролинг, watch ещё как используется, посмотрите доки официальные https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$rootScope.Scope.$watch-examples Может ещё это пригодиться: https://www.sitepoint.com/mastering-watch-angularjs/ Но надо понимать, что часто можно обойтись без вотча вообще, точнее без его использования в логике приложения, как частый кейс - валидация, зачастую достатчно использовать директивы onblur/встроенные валидации. Также начиная работать с вотчами - одна неочевидная вещь, при создании вотча сохраняйте его в переменную, например var a = $watch();, тогда когда вотч будет не нужен его можно снять выполнив a()

Max
02.11.2017
20:16:45
спасибо

Igor
02.11.2017
20:20:31
лолъ

Иван
02.11.2017
22:17:29
Астрологи объявили неделю $watch? Вот все, кто так топит за отказ от вотча, какие у вас альтернативы? Рассмотрим варианты. Первое, вы вотчите контроллерную пропертю, по-сути, вы признаётесь, что используете двусторонний биндинг, и хрен знает кто её меняет, главное, вам нужно реагировать на её изменения. Решение: по-сути, вам требуется устранить двусторонний биндинг (вот где действительное зло, а не $watch), постарайтесь изолировать контроллеры в компоненты, чтобы исключить влияния извне; внутренние ng-model'и дополните ng-change'ами, чтобы неявная обработка изменения стало явной; совсем упёртые могут заменить вотч на сеттер, хотя по сути вы поменяете шило-на-мыло (вотчерный код просто уйдёт в сеттер). Второе, вы вотчите сервисную пропертю. Решение: если вы вотчите сервис, чтобы просто прокинуть данные на вьюху, без каких либо контроллерных обработок, то просто забиндитесь вьюхой на эту проперти. Конструкция $ctrl.service.prop на вьюхе вполне себе легальна. Если контроллерные реакции все-таки нужны, смотрим на их природу: бизнесовые - проваливаем всю эту логику в сервис; логика представления - оставляем как есть. Варианты городить свой евент-емиттер, паб-саб велосипед не выдерживают критики, опять-таки вы меняете встроенный механизм, на свой (и не факт, что вы умнее создателей ангуляра). Задействование rxjs, возможно в случае если вы двигаетесь к апгрейду в ангуляр2+ или у вас сложные реакции на реакции реакций (всяческие преобразовательные операторы вам помогут сделать код чище и понятней).

Дмитрий Maestro
02.11.2017
22:19:01
Астрологи объявили неделю $watch? Вот все, кто так топит за отказ от вотча, какие у вас альтернативы? Рассмотрим варианты. Первое, вы вотчите контроллерную пропертю, по-сути, вы признаётесь, что используете двусторонний биндинг, и хрен знает кто её меняет, главное, вам нужно реагировать на её изменения. Решение: по-сути, вам требуется устранить двусторонний биндинг (вот где действительное зло, а не $watch), постарайтесь изолировать контроллеры в компоненты, чтобы исключить влияния извне; внутренние ng-model'и дополните ng-change'ами, чтобы неявная обработка изменения стало явной; совсем упёртые могут заменить вотч на сеттер, хотя по сути вы поменяете шило-на-мыло (вотчерный код просто уйдёт в сеттер). Второе, вы вотчите сервисную пропертю. Решение: если вы вотчите сервис, чтобы просто прокинуть данные на вьюху, без каких либо контроллерных обработок, то просто забиндитесь вьюхой на эту проперти. Конструкция $ctrl.service.prop на вьюхе вполне себе легальна. Если контроллерные реакции все-таки нужны, смотрим на их природу: бизнесовые - проваливаем всю эту логику в сервис; логика представления - оставляем как есть. Варианты городить свой евент-емиттер, паб-саб велосипед не выдерживают критики, опять-таки вы меняете встроенный механизм, на свой (и не факт, что вы умнее создателей ангуляра). Задействование rxjs, возможно в случае если вы двигаетесь к апгрейду в ангуляр2+ или у вас сложные реакции на реакции реакций (всяческие преобразовательные операторы вам помогут сделать код чище и понятней).
Я не хотел холивар разводить, просто спросил если много вотчеров

Google
Дмитрий Maestro
02.11.2017
22:19:08
Есть ли это нормальным

Иван
02.11.2017
22:23:58
Итог: $watch не такое уж и зло как его малюют. В большинстве случаев вы меняете нативный (для ангуляра) механизм на какой-то другой без ощутимых выигрышей. Только переход на ангуляр2+ имеет оправдание на геноцид вотчеров, все остальное баловство и рукоблудие. Есть действительно достойнные соперники для вашей отваги: это двусторонний биндинг и декомпозиция слишком толстых контроллеров с переходом на компоненты. Я бы упарывался в эту сторону.

Emil
05.11.2017
09:30:35
Привет Подскажите что не так? webpack Когда использую path: path.resolve(__dirname, '.dist'), в output. ничего не собирает. Без path: собирает

Сборка происходит но сам dist не создается

Emil
05.11.2017
11:49:17
Имя каталога текущего модуля.



Евгений
05.11.2017
12:15:06
Спасибо

Artem
05.11.2017
14:46:24
Всем привет, Нигде не могу найти информацию о "правильной" архитектуре angularjs приложения чтобы почитать. Возможно кто-то может поделиться такой ссылкой ?

Bohdan
05.11.2017
15:37:33
Всем привет, Нигде не могу найти информацию о "правильной" архитектуре angularjs приложения чтобы почитать. Возможно кто-то может поделиться такой ссылкой ?
component-by-folder, service based Каждому отдельному компоненту (включая стили, файл контроллера, тесты и шаблон) отдельную папку. Вся логика работы с серверами, бизнес логикой и прочим делается в сервисах, в компонентах ничего кроме отображения

Artem
05.11.2017
15:38:36
если есть общие используемые обьекты между компонентами - хранить их в сервисах ?

Bohdan
05.11.2017
15:52:46

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