Dmitriy
два md-select отрисовываю
Dmitriy
ну верней перерисовываю
Viktor
Слушай)) ты можешь попробовать redux подключить
Viktor
если прям совсем хочешь все вотчеры под контроллем держать)
Dmitriy
это реактовская штука ?
Viktor
ИМХО. Первому не хвататло именно своего редакса)
Иван
я не силён в мд библиотеке, но если там подменить массивчик вариантов, то вполне можно спустить в сервис и забиндиться на сервисную пропертю
Viktor
ну по сути это отдельно существующая библиотека хранилище
Dmitriy
но на досуге поиграюсь
Иван
честно щас боюсь сломать то что уже работает ))
ну тогда не парься... нормальный подход, если он не начинает выходить из-под контроля... вот с 20-30К вотчеров я бы на первой сотне задумался, что что-то пошло не так
Dmitriy
не ну так то на это странице пару , на второй пару
Viktor
Кстати там было норм, но потом все стало множиться и стало страшно)) спасло vue с его частичным внедрением)
Dmitriy
так до сотки и дойдет
Иван
Кстати там было норм, но потом все стало множиться и стало страшно)) спасло vue с его частичным внедрением)
мда уж... ангуляр, вью, редакс... вижу мисье знает толк в звращениях©...
Viktor
Ну так лучше не делать, но в качестве опыта было полезно
Dmitriy
не мне тимлид руки оторвет если я в ангуляр заихну компоненты реакта )\
Иван
Ну так лучше не делать, но в качестве опыта было полезно
так лучше не делать, то первым же делом посоветовал вкорячить редакс 😆
Viktor
Тут контекст у товарища, важно держать вотчеры под контролем) а что лучше их сдержит под контролем, чем отдельное хранилище всех данных)
Иван
так до сотки и дойдет
слушай, два-три вотчера на компонент - нормальная ситуация, не вижу проблемы... если там поднимается к десятке, то скорее всего нужно уже начинать подозревать, что компонент слишком много делает и его нужно начать колоть на более мелкие... вотч сам по себе не такой уж плохой подход, пока все варианты обозримы и контролируемы.
Алексей
а почему впринципе так много вотчеров? что у вас там такое? +1 к Ивану
Dmitriy
ну щас примерно так и есть на 1 компонете 1-3 вотчера
Ilia
Товарищи подмоги пожалуйста
Ilia
Достался проект на кофескрипте с ангуляром не могу понять в чем проблема https://pastebin.com/gY6e0Dgi
Ilia
Не выводит ничего
Ilia
При это мнет стектрейса в консоли
Ilia
Есть ли способ вывести все зарегистрированные кастомные диррективы?
Иван
Достался проект на кофескрипте с ангуляром не могу понять в чем проблема https://pastebin.com/gY6e0Dgi
я не уверен, что там вообще написано, помоему пустышка какая-то, но если и она не показывается, то я бы начал с замены "MyDirective" на "myDirective"
Ilia
template: '<div>hello directive</div>' replace: true собственно говоря это hello world
Ilia
В соседнем файле есть module('app')
Иван
template: '<div>hello directive</div>' replace: true собственно говоря это hello world
имена директив записываются в кэмел-стиле (с маленькой буквы)... ну по крайней мере в нормальном джаваскрипте
Иван
Ruslan
с кофе все ок, синтаксис адекватен, что-то в самом конфиге
Ilia
Удивительно
Ilia
Дело в камел кейсе было
Иван
Ilia
Видимо angular все заглавные буквы транслирует
Ilia
в -/:/...{w}
Ruslan
т.е. директиву нужно было использовать так: <-my-directive> ?
Max
Всем привет ребята , подскажите как юзать $watch на проекте, говорят что он юзалса в далеком 2013
Max
мне надо проект старий
Dmitriy
Есть хороший паттерн EventEmitter
Это отдельно от ангуляра?
Aleksei
мне надо проект старий
я вас не понимать
baur.sha
Это отдельно от ангуляра?
Это шаблон проектирования
baur.sha
Можешь его заимплиментить к себе в проект
Dmitriy
Ознакомлюсь
Max
сказали что на проекте будет использования $watch есть примере где он используетса ?
Ilya
Бегите оттуда
Max
Да вообще не вариант, знаю что будет полная жесть
Max
Проект 2013 года уже его не перепишет никто даже на 1.6
Max
А фичы надо пилить
Алексей
А фичы надо пилить
это тролинг, 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
спасибо
Igor
лолъ
Иван
Астрологи объявили неделю $watch? Вот все, кто так топит за отказ от вотча, какие у вас альтернативы? Рассмотрим варианты. Первое, вы вотчите контроллерную пропертю, по-сути, вы признаётесь, что используете двусторонний биндинг, и хрен знает кто её меняет, главное, вам нужно реагировать на её изменения. Решение: по-сути, вам требуется устранить двусторонний биндинг (вот где действительное зло, а не $watch), постарайтесь изолировать контроллеры в компоненты, чтобы исключить влияния извне; внутренние ng-model'и дополните ng-change'ами, чтобы неявная обработка изменения стало явной; совсем упёртые могут заменить вотч на сеттер, хотя по сути вы поменяете шило-на-мыло (вотчерный код просто уйдёт в сеттер). Второе, вы вотчите сервисную пропертю. Решение: если вы вотчите сервис, чтобы просто прокинуть данные на вьюху, без каких либо контроллерных обработок, то просто забиндитесь вьюхой на эту проперти. Конструкция $ctrl.service.prop на вьюхе вполне себе легальна. Если контроллерные реакции все-таки нужны, смотрим на их природу: бизнесовые - проваливаем всю эту логику в сервис; логика представления - оставляем как есть. Варианты городить свой евент-емиттер, паб-саб велосипед не выдерживают критики, опять-таки вы меняете встроенный механизм, на свой (и не факт, что вы умнее создателей ангуляра). Задействование rxjs, возможно в случае если вы двигаетесь к апгрейду в ангуляр2+ или у вас сложные реакции на реакции реакций (всяческие преобразовательные операторы вам помогут сделать код чище и понятней).
Dmitriy
Астрологи объявили неделю $watch? Вот все, кто так топит за отказ от вотча, какие у вас альтернативы? Рассмотрим варианты. Первое, вы вотчите контроллерную пропертю, по-сути, вы признаётесь, что используете двусторонний биндинг, и хрен знает кто её меняет, главное, вам нужно реагировать на её изменения. Решение: по-сути, вам требуется устранить двусторонний биндинг (вот где действительное зло, а не $watch), постарайтесь изолировать контроллеры в компоненты, чтобы исключить влияния извне; внутренние ng-model'и дополните ng-change'ами, чтобы неявная обработка изменения стало явной; совсем упёртые могут заменить вотч на сеттер, хотя по сути вы поменяете шило-на-мыло (вотчерный код просто уйдёт в сеттер). Второе, вы вотчите сервисную пропертю. Решение: если вы вотчите сервис, чтобы просто прокинуть данные на вьюху, без каких либо контроллерных обработок, то просто забиндитесь вьюхой на эту проперти. Конструкция $ctrl.service.prop на вьюхе вполне себе легальна. Если контроллерные реакции все-таки нужны, смотрим на их природу: бизнесовые - проваливаем всю эту логику в сервис; логика представления - оставляем как есть. Варианты городить свой евент-емиттер, паб-саб велосипед не выдерживают критики, опять-таки вы меняете встроенный механизм, на свой (и не факт, что вы умнее создателей ангуляра). Задействование rxjs, возможно в случае если вы двигаетесь к апгрейду в ангуляр2+ или у вас сложные реакции на реакции реакций (всяческие преобразовательные операторы вам помогут сделать код чище и понятней).
Я не хотел холивар разводить, просто спросил если много вотчеров
Dmitriy
Есть ли это нормальным
Иван
Итог: $watch не такое уж и зло как его малюют. В большинстве случаев вы меняете нативный (для ангуляра) механизм на какой-то другой без ощутимых выигрышей. Только переход на ангуляр2+ имеет оправдание на геноцид вотчеров, все остальное баловство и рукоблудие. Есть действительно достойнные соперники для вашей отваги: это двусторонний биндинг и декомпозиция слишком толстых контроллеров с переходом на компоненты. Я бы упарывался в эту сторону.
Emil
Привет Подскажите что не так? webpack Когда использую path: path.resolve(__dirname, '.dist'), в output. ничего не собирает. Без path: собирает
Emil
Сборка происходит но сам dist не создается
Emil
Имя каталога текущего модуля.
Emil
Евгений
Спасибо
Artem
Всем привет, Нигде не могу найти информацию о "правильной" архитектуре angularjs приложения чтобы почитать. Возможно кто-то может поделиться такой ссылкой ?
Bogdan
Всем привет, Нигде не могу найти информацию о "правильной" архитектуре angularjs приложения чтобы почитать. Возможно кто-то может поделиться такой ссылкой ?
component-by-folder, service based Каждому отдельному компоненту (включая стили, файл контроллера, тесты и шаблон) отдельную папку. Вся логика работы с серверами, бизнес логикой и прочим делается в сервисах, в компонентах ничего кроме отображения
Artem
если есть общие используемые обьекты между компонентами - хранить их в сервисах ?
Viktor
https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md