
Sasha
31.07.2017
14:39:38
Дк куда this пропадает, если это ссылка на метод?

Nikolai
31.07.2017
15:01:46
наверно можно было в конструкторе сделать что-то вроде thih.bnopnia = this.myMethod.bind(this) и в темплейте prev-month="vm.bnopnia" не меняя вендорскую либу?

Sasha
31.07.2017
15:09:26

Google

Sasha
31.07.2017
15:09:44
Насколько я понимаю, это называется потерей контекста?

Nikolai
31.07.2017
15:14:12
оно

Danila
01.08.2017
07:39:38
Всем ку, есть такое
<div class="wrap-{{value}}" ng-repeat="value in data">
<div ng-init="func(value)"></div>
</div>
И есть проблема, когда выполняется func, внутри у меня нулевая выборка по классу wrap-{{value}} что я делаю не так ?

Nikolai
01.08.2017
07:46:06
например, плохо описываешь проблему

Danila
01.08.2017
08:00:25
когда я говорю по нулевую выборку я имею ввиду что селект по классу возвращает null, так понятней ?

Nikolai
01.08.2017
08:39:46
мне нет

Danila
01.08.2017
08:43:45
что не понятно ?

Anton
01.08.2017
09:18:42
Всем привет. Такой вопрос. Есть 2 элемента директивы
<first>
<second id="someid" some-attr="{{ blablabla }}"></second>
</first>
В контроллере first я записываю в переменную element[0].querySelector('[id]')
Но когда я её вывожу в консоли, переменная получается не отрендеренной с уже вычисленным значением blablabla, а выводится просто как <second id="someid" some-attr="{{ blablabla }}"></second>
Есть какие-нибудь идеи из-за чего может такое возникать, что дочерняя директива ещё не просчитана, а первая уже выполняется?
а через $timeout с 0, как и ожидалась, уже нормально отрабатывает
насколько кстати плохая практика юзать $timeout с 0 для ожидания рендеринга? есть вероятность, что за 16 мс оно не успеет отрендериться

Vlad
01.08.2017
12:57:00
работать в контроллерах с дом элементами напрямую - плохая практика
element[0].querySelector('[id]') - зачем он тебе там?

Bauyrzhan
01.08.2017
13:14:30
Поясните по хардкору что такое и как работает $scope.$watch

Google

Vlad
01.08.2017
13:20:31
это штука для обработки изменения переменных $scope
можно обрабатывать эти изменения
https://docs.angularjs.org/api/ng/type/$rootScope.Scope
вот как бы по хардкору всё описано
единственное что, могут быть небольшие проблемы с использованием этой штуки в controller As синтаксисе

Nikolai
01.08.2017
13:23:29

Vlad
01.08.2017
13:29:36
ну, это не совсем то, watch как observer работает

Nikolai
01.08.2017
13:30:35
по сути да, но когда есть сеттер, то в нём обрабатывать newVal более лучше
но воч удобен, когда надо deep watch

Call Me Maybe
01.08.2017
14:19:03
Здравствуйте, котики. Есть один контроллер, внутри которого крутится slick с ng-repeat. Нужно добавить ещё один slick, который бы отслеживал и повторял положение первого. Как такое можно провернуть?

Mikhail
01.08.2017
17:59:04

Иван
01.08.2017
20:49:14
а напомните пожалуйста хорошие практики использования данных сервиса на вьюхе и реагирование самого контроллера на изменение в сервисе... что-то сегодня внезапно такие азы вогнали меня в ступор... пока сделал "на отъ*бись" {{ $ctrl.service.data }} на вьюхе, но догадываюсь, что это не особо здорово и не покрывает вариантов использования самого контроллера... неужели ничего лучшего чем $scope.watch(service.data) ничего не придумали?

krn
01.08.2017
22:49:34
мб будет лучше watchCollection

Nikolai
02.08.2017
06:08:30


Иван
02.08.2017
06:33:50
По-моему, {{$ctrl.service.data}} норм
Да, но как самому контроллеру реагировать на изменение данных в сервисе? Если всё-равно придётся писать $scope.watch(()=>this.sevice.data, ...), то возможно стоит переложить эти данные в свойства контроллера и на вьюхе ссылаться уже на них... Получится что-то типа $scope.watch(()=>this.sevice.data, ()=>{this.serviceData = this.service.data; /* дополнительная работа */}) и на вьюхе {{$ctrl.serviceData}}... Просто хотелось бы уточнить, не появилось ли ничего нового из лучших практик ванильного ангуляра для этих кейсов? Догадываюсь, что где-то в этот момент люди начинают вкорячивать ngrx в проект, но у меня что-то на это нет ни времени ни желания...

Nikolai
02.08.2017
06:35:24
Там же один фиг объекты по ссылке присваиваются. Что вотчить, не имеет значентя

Иван
02.08.2017
06:38:04
Повышаем инкапсуляцию, прости господи... ?

Bauyrzhan
02.08.2017
10:17:02
йоу чуваки
кто-нить имеет опыт с $translateProvider

Google

Nikolai
02.08.2017
10:17:33
да
или нет
но ты спроси, я что-то с ним делал

Bauyrzhan
02.08.2017
10:18:10
у него есть метод или плагин либо костыль которые выгружает все словари в json

Nikolai
02.08.2017
10:18:21
да

Bauyrzhan
02.08.2017
10:18:27
?

Nikolai
02.08.2017
10:18:36
есть
$translate.getTranslationTable(appLang);

Sasha
02.08.2017
12:21:32
3500 вотчеров и 16ms дайджест цикл. Вроде если более 2000, стоит уже бить тревогу?

Viktor
02.08.2017
12:26:35
воообще не обязательно
есть страница с 30К вотчерами, работает все быстро

Sasha
02.08.2017
12:26:57
хотя, вроде есть мнение, что если мы укладываемся в 50-100ms в дайджест цикле, то все ок

Viktor
02.08.2017
12:26:59
но главное на такое кол-во вотчеров не вещать директивы
потому что тогда начинается капут

Sasha
02.08.2017
12:28:28

Viktor
02.08.2017
12:29:56
кастомные директивы, не те, которые зарезервированны, а по типу my-directive-for-this-hernia

Sasha
02.08.2017
12:30:13
Насчет вотчеров, вчера искал всякие статейки, понял, что все-таки пофиг сколько вотчеров, главное время выполнения цикла
А что с директивами происходит? Не совсем понимаю, как это влияет

Viktor
02.08.2017
12:31:33
кастомные считаются дольше, т.к. задействуют больше сторонных ресурсов
вот пример на днях был. Надо было сделать фильтр валют по токену от сервака

Google

Viktor
02.08.2017
12:32:11
около 500 строк
повесил директиву кастомную, грузилось около 2х сек. Убрал и сделал фильтр, грузится моментально

Sasha
02.08.2017
12:34:52
Вроде фильтры со сложной логикой как раз не рекомендуется

Viktor
02.08.2017
12:36:11
логика тривиальная, поэтому и получилось сравнить более-менее адекватно

Sasha
02.08.2017
12:44:02
Кстати, еще насчет производительности.
Как в 1.5 сделан геттер? будет ли разница в скорости по сравнению с методом?

Anton
03.08.2017
05:04:55

Nikolai
03.08.2017
10:43:14

Дмитрий Maestro
03.08.2017
13:12:41
ребят кто то реализовывал многоуровневое меню на ангуляр материал ?

Sasha
03.08.2017
13:26:54

Дмитрий Maestro
03.08.2017
14:11:24
подскажи плиз у меня на на первом уровне у элементов может быть , а может не быть дочерних
получилось сделать так что при наводе мышки открываются дочерние элементы , но после перевода курсора например на элемент у которого нет дочернего , дочерние элементы висят и не скрываются
как это пофиксить

Anton
03.08.2017
14:12:50
Сменил работу с React на AngularJS (так получилось), я удивляюсь как вы все тут ещё не спились

Sasha
03.08.2017
14:14:07
Я скурился например

Дмитрий Maestro
03.08.2017
14:17:56
обычное
md-toolbar
внутри оперделил md-menu-bar
а внутри его уже md-menu


Natalia
03.08.2017
14:27:33
#wanted #job #Germany
Hi! My name is Natalie. I′m a recruiter. We have a position that might be interesting for you. This is NodeJS developer. You will be responsible for building out company’s cloud-only products that are built on the MEAN stack.
RESPONSIBILITIES
Influence the overall architecture to build super-scalable software
Develop high-level system design and low level technical design
Help prioritize engineering projects against business targets and evaluate what can be executed with the available resources
Develop, troubleshoot, debug and implement code for the GAN Products
Work with DevOps team-members to ensure continued stability and performance
Coach and mentor the developers in your team on personal and technical skills
Initiate, implement and develop creative and innovative engineering processes and practices
Help mature staging, testing and deployment systems to automate boring tasks
POSITION REQUIREMENTS
Solid Node.js development experience (4+ years)
Good understanding of frontend development technologies (HTML 5, CSS 3, AngularJS)
Knowledge of Express.js is a good plus
Experience working with DevOps tools (we use Git)
Experience with MongoDB
Understanding of QA automation principles and tools
BENEFITS
Competitive salary
A real impact on the product and company’s growth and evolution
Work with motivated colleagues who love their work
Catered lunch, snacks and great coffee
Range - 5k euros (gross).
Benefits are really adorable, so please make your mind and send your CV and portfolio on my e-mail ns@8relocate.com (with name of the vacancy). Add your Skype contact in CV please
Have a nice day!
Best regards.
Natalia Sahova.
E-mail: ns@8relocate.com

Google

Дмитрий Maestro
03.08.2017
14:59:51
как отслеживать состояние md-menu открыто оно или нет
?

Sasha
03.08.2017
15:14:16

Ivan
03.08.2017
21:31:19
Angular 1.5, $routeProvider как указать 'динамический' when('/', goToDynamic), который будет определятся в зависимости от Роли юзера (Ajax get запрос)?

Александр
03.08.2017
21:32:29
А выполнить запрос и потом стейты объявить?
Но по идее разные роуты - разные компоненты. Зачем динамика?