Anonymous
попробуйте сразу 4.0.2, будет вообще!
Aleksei
@akiselev87telegram попробуйте сразу 1.6, толку будет больше ;)
Ну я пока не нашелкритичных ограничений, а переехать без проблем не удалось :(
d0as8
ку. на этапе конфигурации модуля, есть возможность обраиться к данным из templateCache?
Serhii
run(function(templateCache)
Ilya 🃏
Кто подскажет группу по ангуляру второму?
d0as8
@angular_ru
d0as8
run(function(templateCache)
речь о config, не run
Ilya 🃏
Спасибо
Sasha
Кто-нибудь использовал httpBackend? Не понимаю, почему-то он не исполняет ресурсы, которые - промисы. Поидее, работает scope.apply, но в таком случае он исполняет вообще все промисы, которые например должны отрезолвится внутри ui-router'a. Итак, как правило мокать ресурсы когда пишешь юнит тесты для контроллера?
Alexander
Они все замокались. Надо в настройке модуля прописывать урлы и методы запросов, чтобы они работали. Это настройки сервиса httpBackend. Синтаксис а ля $httpBackend.when('GET', '/users').respond([]);
Sasha
Они все замокались. Надо в настройке модуля прописывать урлы и методы запросов, чтобы они работали. Это настройки сервиса httpBackend. Синтаксис а ля $httpBackend.when('GET', '/users').respond([]);
То есть для всех запросов, которые например резолвятся в стейте контроллера, нужно так же прописать эти самые моки, чтобы не получить Unexpected request?
Alexander
да. Можно разом разрешить выполнять все, можно настроить каждый
Sasha
А как разрешить разом выполнять все? Например, у меня есть какая-то часть кода в контроллере, которой нужно мокнуть запрос, например: $httpBackend.when('PATCH', '/<url>').respond({data: {someData}});, но другие запросы, которые исполняются при загрузке контроллера(при резолве стейта), они меня как бы не интересуют и их данные тут ни на что не влияют, но у этих запросов вываливается: Unexpected request, потому что я о них вообще ничего не сообщаю. Мне их достаточно просто где-то объявить все одном месте? Или есть какие-то еще подводные камни?
Alexander
['GET', 'POST', 'PUT', 'DELETE'].forEach(method => $httpBackend.when(method, /.*/).respond('foobar'))
Alexander
Вы говорите, что для запросов с таким-то методом, и таким-то урлом (регулярка или строка) надо сделать одно из 2: выполнить как обычно (passThrough()) или не выполнять, но выдать такой-то ответ (respond())
Alexander
В одном из проектов я накодил целый моковый бэкенд, который выдавал близкие к настоящим данные, и все тесты на них гонял.
Sasha
Спасибо. Я имел ввиду другую штуку. Вот все-таки у меня есть изолированный сервайс, у него один запрос к бэкенду(там $resource с промисом). Почему должны при этом дергаться другие запросы? Вот это я не могу понять =/
Alexander
Они не должны, но так получается. При разрешении какой-то зависимости инициализируется целое дерево зависимостей, и везде что-то может произойти (что у вас прописано при инициализации сервисов и других вещей). Ну и конфиг-функция самого модуля может что-то запрашивать. Это неизбежно, к сожалению. Больше всего в таких случаях приходится думать о том, как сконфигурировать тесты так, чтобы при изменении кода они не начали давать ложно отрицательных срабатываний, и, что более важно, - ложно-положительных
Viktor
Есть какое-то вменяемое решение, чтобы замочить все аяксы, вызванные через $resource?
Alexander
мой комментарий чуть выше
Sasha
Есть какое-то вменяемое решение, чтобы замочить все аяксы, вызванные через $resource?
Да, решение Александра работает. Я на самом деле так же написал ранее, просто думал, что был не прав и сделал костыль.
Viktor
Че-то не понял... я просто вопрос задал) попал в тему переписки что ли?)
Viktor
Мне надо убить аяксы например до смены роутинга. Не писать при этом костыли. Через pendingRequests не нашёл как это сделать....
Sasha
Че-то не понял... я просто вопрос задал) попал в тему переписки что ли?)
Да, мы про юнит тестирование) А вообще если тебе нужно убить все асинхронные запросы после какого-то события - делай через интерсепторы. В реквесте складываешь $q.defer(); в массив твоего сервиса по работе с запросами и потом если нужно, делаешь всем промисам текущим: request.promise.isGloballyCancelled = true; request.resolve();
Viktor
Пример есть? Именно для варианта с $resource? Как сделать с $http понятно...
Viktor
Не понимаю куда там q всунуть и как там прервать аякс
Sasha
Напишу пример. Там мы его как бы искуственно подсовываем
Viktor
Кажется нашёл в доке... странно, щас с телефона а на неделе искал с компа и не увидел...
Viktor
https://docs.angularjs.org/api/ngResource/service/$resource
Евгений
Всем привет! нормально что в нескольких файла проекта 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]
Anonymous
angular.module('dashboard')
Anonymous
тут второй аргмент массиив зависимостей жи
Евгений
он объявлен в другом файле, здесь я его только получаю
Евгений
иначе бы и без директивы не работало
Anonymous
ну да,хз тогда)
Denis
У тебя оно как подключается? Просто angular.module('dashboard',[]) должен быть первым
Yuri
кто совмещал первый ангуляр с typescript? как директивы делали?
Sasha
Подскажите, а ui-router(1.0.0) для компонент, там же уже не используется концепция nested-named-views?
kdm🇩🇰
всем привет! использую вот эту либу для флэш сообщении https://sachinchoolur.github.io/angular-flash/ как сделать так, чтобы при нескольких нажатиях не выводились новые сообщения, а было одно сообщение?
kdm🇩🇰
нашел dismiss(), но она работает с определенным сообщением которое возвращает create
Evgeniya
#вакансия #frontend Всем привет, меня зовут Евгения, я HR менеджер компании YouDo. Ищу front-end разработчика в нашу команду в г.Казань. Зарплата от 70 000 на руки. Подробнее о вакансии здесь: https://hh.ru/vacancy/20109325 Контакт через ЛС или по почте e.kikoina@youdo.ru
Anonymous
Привет! Кто сталкивался с проблемой, что jquery не работает вместе с angular-route?
Anonymous
В слайдере
Dmitriy
парни ангуляр 1,6 ткните плиз носом где можно почитать про создание директив
Dmitriy
оу
Dmitriy
сорян
Kool
Есть на русском
Dmitriy
ну это как бы не проблема англ, но удобней русским если не трудно кинь плиз
kdm🇩🇰
http://angular-doc.herokuapp.com/api/ng.directive:a
Dmitriy
благодарен
kdm🇩🇰
не знаю подходит это или нет
Dmitriy
ща посмотрю потыкаю
Dmitriy
еще момент директива в директиве может быть ?
Dmitriy
верней 1 директива взаимодействовать со второй
Kool
Может
Sasha
Кто-нибудь писал на ангуляре >=1.5 с нормальной архитектурой проекта?(в смысле с компонентами)
Aleksei
+
Aleksei
Sasha что конкретно интересует?
Sasha
Sasha что конкретно интересует?
Нужны ли nested named views в роутинге? UI router 1.0.0 позволяет использовать компоненты. То есть какие части страницы можно либо напрямую зафигачить компонентом, либо объявить а роутинге во views, а в темплейте использовать это. Просто у меня такое ощущение, что второй вариант становится излишним
Sasha
Как пример, у меня есть страничка, там некий тулбар, который до это подключался как nested-named-view
Sasha
В случае с архитектурой на компонентах, как поступить? Оставить его в роутинге?
Aleksei
Sasha и так и так годные решения, но лучше принять один вариант и работать с ним, дабы не путаться
Sasha
Sasha и так и так годные решения, но лучше принять один вариант и работать с ним, дабы не путаться
Планирую просто на 2 мигрировать. Но очень постепенно. Проект большой
Aleksei
Sasha ну это процесс кропотливый, есть пара решений в npm для миграции, гуглил пару статей на тему, тоже предстоит, но пока об этом не думаем, очень жарко на проекте
Sasha
Sasha ну это процесс кропотливый, есть пара решений в npm для миграции, гуглил пару статей на тему, тоже предстоит, но пока об этом не думаем, очень жарко на проекте
Ну да, я тоже находил. Но в плане стратегии, лучший вариант писать новые фичи сразу в этом стиле и потихоньку рефакторить легаси код
Aleksei
Лучше пока не поздно прыгнуть сразу на 2-4
Sasha
Поздно, уже куча кода на 1)
Alexander
Всем привет, у меня ошибка падает unexpected token <, когда в routes делаю state(content.edit, {....}) при этом все в коде все оке с чем она связана? И выпадает она при перезагрузке странице.
Alexander
Alexander
вот код routes
Sasha
Чет в теплейтах походу
Alexander
Чет в теплейтах походу
да в том то и дело что нормально все, при 1 переходе это работает, но при обнавление падает Js