
Kool
11.04.2017
09:09:29
Привет!
https://docs.angularjs.org/api/ng/function/angular.element
on() - Does not support namespaces, selectors or eventData
Это значит что нельзя искать элемент через селектор и вешать на него .on?

Google

Kool
11.04.2017
09:11:34
например:
angular.element(element[0].querySelector('.class')).on('scroll', function(){console.log('scrolling in directive')}
Да, вызываю в директиве

Denis
11.04.2017
09:28:38
Нет, имеется ввиду другое
http://api.jquery.com/on/

Mr
12.04.2017
09:28:23
Кто-то пробовал юзать вю компоненты внутри ангулара?

Каїн
12.04.2017
10:11:53
vue?

Denis
12.04.2017
11:21:23
А смысл вообще юзать Vue в ангуляр проекте?

Каїн
12.04.2017
12:11:00
строить машину сидя в машине кек

Sasha
12.04.2017
12:37:01
А о каких компонентах идет речь? Есть же в ангуляре 1.6 и 2 такое

Mr
12.04.2017
13:02:09
о вю компонентах
у меня есть примерные идеи как сделать

Max
12.04.2017
15:47:21
есть кто работал или работает с первым ангуляром и тайпскриптом
??

Google

Alexey
12.04.2017
20:54:11
Приветствую, подскажите как вы реализуете состояния приложения?
вот допустим моё приложение постоянно отдает шаблон по урлу / (и тут отдается index.html)
но я захожу допусти на /auth и отдаю тот же шаблон
и после я руками ищу в существующих стейтах, этот стейт(auth) и перевожу состояние в него.
правильно ли я делаю?
и если правильно, если уже написанный модуль, который бы делал это за меня?)

Denis
12.04.2017
21:19:22
Да все правильно

Alexey
12.04.2017
21:20:52

Denis
12.04.2017
21:21:28
ты мне?)
Да,
https://github.com/angular-ui/ui-router/
Тут посмотри еще

Alexey
12.04.2017
21:22:15
если честно я там много раз был )
поповоду своего вопроса там ничего не нашел

Yuri
13.04.2017
09:24:41


Denis
13.04.2017
10:38:46
Насчёт стейтов и урлов плюс
Может конечно если проект большой и стейтов уж очень много, то не все так просто тогда
У меня просто где-то 25 стейтов, которые легко разбиваются по логике
Кто-нибудь кстати отказывался от директив полностью в пользу компонентов?

Yuri
13.04.2017
13:58:08

Евгений
13.04.2017
18:09:59

Alexey
13.04.2017
18:15:50

Евгений
13.04.2017
18:20:13
А чего в ui router не хватает?

Alexey
13.04.2017
18:21:54
ну допустим юзер заходит на урл /persone/name(стейт pesrone.name)
и мы отдаем ему наш шаблон и сами переводим его в нужное состояние, верно?

Alex
13.04.2017
19:55:51
Всем привет, я системный аналитик, но в качестве хобби иногда программирую на java, теперь стал прикручивать ui на angular 1.4.8. Толку от меня пока никакого :)

Alexey
13.04.2017
20:21:59
@akiselev87telegram попробуйте сразу 1.6, толку будет больше ;)

Felix
13.04.2017
20:32:51
попробуйте сразу 4.0.2, будет вообще!

Google

Alex
14.04.2017
07:02:52

Каїн
14.04.2017
09:02:47

d0as8
14.04.2017
10:35:15
ку. на этапе конфигурации модуля, есть возможность обраиться к данным из templateCache?

Каїн
14.04.2017
11:44:15
run(function(templateCache)

Ilya
14.04.2017
19:46:53
Кто подскажет группу по ангуляру второму?

d0as8
14.04.2017
19:50:08
@angular_ru

Ilya
14.04.2017
19:53:50
Спасибо

Sasha
15.04.2017
17:55:03
Кто-нибудь использовал httpBackend? Не понимаю, почему-то он не исполняет ресурсы, которые - промисы. Поидее, работает scope.apply, но в таком случае он исполняет вообще все промисы, которые например должны отрезолвится внутри ui-router'a. Итак, как правило мокать ресурсы когда пишешь юнит тесты для контроллера?

Александр
15.04.2017
18:48:02
Они все замокались. Надо в настройке модуля прописывать урлы и методы запросов, чтобы они работали. Это настройки сервиса httpBackend. Синтаксис а ля $httpBackend.when('GET', '/users').respond([]);

Sasha
16.04.2017
10:30:22

Александр
16.04.2017
10:31:05
да. Можно разом разрешить выполнять все, можно настроить каждый

Sasha
16.04.2017
10:34:43
А как разрешить разом выполнять все? Например, у меня есть какая-то часть кода в контроллере, которой нужно мокнуть запрос, например:
$httpBackend.when('PATCH', '/<url>').respond({data: {someData}});, но другие запросы, которые исполняются при загрузке контроллера(при резолве стейта), они меня как бы не интересуют и их данные тут ни на что не влияют, но у этих запросов вываливается: Unexpected request, потому что я о них вообще ничего не сообщаю. Мне их достаточно просто где-то объявить все одном месте? Или есть какие-то еще подводные камни?

Александр
16.04.2017
12:02:52
['GET', 'POST', 'PUT', 'DELETE'].forEach(method => $httpBackend.when(method, /.*/).respond('foobar'))

Admin
ERROR: S client not available

Александр
16.04.2017
12:05:55
Вы говорите, что для запросов с таким-то методом, и таким-то урлом (регулярка или строка) надо сделать одно из 2: выполнить как обычно (passThrough()) или не выполнять, но выдать такой-то ответ (respond())
В одном из проектов я накодил целый моковый бэкенд, который выдавал близкие к настоящим данные, и все тесты на них гонял.

Sasha
16.04.2017
12:08:12
Спасибо. Я имел ввиду другую штуку. Вот все-таки у меня есть изолированный сервайс, у него один запрос к бэкенду(там $resource с промисом). Почему должны при этом дергаться другие запросы? Вот это я не могу понять =/

Александр
16.04.2017
12:11:26
Они не должны, но так получается. При разрешении какой-то зависимости инициализируется целое дерево зависимостей, и везде что-то может произойти (что у вас прописано при инициализации сервисов и других вещей). Ну и конфиг-функция самого модуля может что-то запрашивать. Это неизбежно, к сожалению. Больше всего в таких случаях приходится думать о том, как сконфигурировать тесты так, чтобы при изменении кода они не начали давать ложно отрицательных срабатываний, и, что более важно, - ложно-положительных

Виктор
16.04.2017
13:07:32
Есть какое-то вменяемое решение, чтобы замочить все аяксы, вызванные через $resource?

Google

Александр
16.04.2017
13:18:02
мой комментарий чуть выше

Sasha
16.04.2017
13:29:21

Виктор
16.04.2017
13:31:17
Че-то не понял... я просто вопрос задал) попал в тему переписки что ли?)
Мне надо убить аяксы например до смены роутинга. Не писать при этом костыли. Через pendingRequests не нашёл как это сделать....

Sasha
16.04.2017
14:28:03
Че-то не понял... я просто вопрос задал) попал в тему переписки что ли?)
Да, мы про юнит тестирование)
А вообще если тебе нужно убить все асинхронные запросы после какого-то события - делай через интерсепторы. В реквесте складываешь $q.defer(); в массив твоего сервиса по работе с запросами и потом если нужно, делаешь всем промисам текущим:
request.promise.isGloballyCancelled = true;
request.resolve();

Виктор
16.04.2017
14:35:25
Пример есть? Именно для варианта с $resource? Как сделать с $http понятно...
Не понимаю куда там q всунуть и как там прервать аякс

Sasha
16.04.2017
14:43:54
Напишу пример. Там мы его как бы искуственно подсовываем

Виктор
16.04.2017
14:44:37
Кажется нашёл в доке... странно, щас с телефона а на неделе искал с компа и не увидел...
https://docs.angularjs.org/api/ngResource/service/$resource

Евгений
16.04.2017
17:57:12
Всем привет! нормально что в нескольких файла проекта angular.module('dashboard')... используется или стоит для каждого файла проекта свой модуль объявлять?
что ж такое, пишу:
angular.module('dashboard')
.controller('ProjectIndexCtrl', function($rootScope, $scope, $routeParams){ ... })
.controller('ProjectCtrl', function($rootScope, $scope, $routeParams){ ... })
все ок, добавляю
.directive('ProjectIndexItem', [function(){
return function (scope, element, attrs) { alert('hello'); }
}])
получаю Uncaught Error: [$injector:modulerr]

Alexey
16.04.2017
18:08:46
angular.module('dashboard')
тут второй аргмент массиив зависимостей жи

Евгений
16.04.2017
18:09:24
он объявлен в другом файле, здесь я его только получаю
иначе бы и без директивы не работало

Alexey
16.04.2017
18:11:19
ну да,хз тогда)

Denis
16.04.2017
22:43:21
У тебя оно как подключается? Просто angular.module('dashboard',[]) должен быть первым

Yuri
16.04.2017
23:55:35
кто совмещал первый ангуляр с typescript? как директивы делали?

Евгений
17.04.2017
05:52:09
что ж такое, пишу:
angular.module('dashboard')
.controller('ProjectIndexCtrl', function($rootScope, $scope, $routeParams){ ... })
.controller('ProjectCtrl', function($rootScope, $scope, $routeParams){ ... })
все ок, добавляю
.directive('ProjectIndexItem', [function(){
return function (scope, element, attrs) { alert('hello'); }
}])
получаю Uncaught Error: [$injector:modulerr]
имя директивы с маленькой буквы надо... буду благодарен если кто-нибудь кинет в меня ссылкой на объяснение