🎋🎋🥷 ngSamurai
https://jsfiddle.net/73q20wdg/1/
Dima
https://jsfiddle.net/73q20wdg/1/
1) зачем в конструкторе просто инжектим сервис?
2) closeTestResult() {
// todo... do something hire
} так что именно do, что изменять?
3) а зачем делать копию если уже есть в компоненте переменная?
this.isVisible = this.isTestResultBarVisible;
Dima
типа в компоненте уже есть this.isTestResultBarVisible
а мы создаем еще и this.isVisible
Dima
Dima
вот апдейтнул по замечанию на уровень выше ng-if
https://jsfiddle.net/hitman333/65xc1qd8/3/
Dima
testResult правильный или и с ним что-то ?
Dima
ну и все еще о байндингах) в чем таки разница между "<" и "="
потому что даже при "<" когда меняю в компоненте забинденную переменную, то родительская тоже меняется
Dima
хотя из того что я понял должна менятся если "=" или что я не так понял?)
🎋🎋🥷 ngSamurai
ну и все еще о байндингах) в чем таки разница между "<" и "="
потому что даже при "<" когда меняю в компоненте забинденную переменную, то родительская тоже меняется
< - one way binding - данные записанные в компонент будут единожды инициализированны
= - two way binding - данные можно передавать в оба направления и компонент имеет постоянно обновленное значение
переинициализация "<"-байндинга возможна при ререндеринге парент-компонента
в случае использования "<"-байндинга желательно использовать хук onChange(chObj) и проверять изменения из вне...
такое делают уже когда появляется необхожимость в жесткой оптимизации приложения.... на ранних этапах мы вообще не смотрим на это и везде используется "="... после окончания релиза и по мере необходимости рефакторинга/оптимизаций / можно уже задумываться о том. что было бы лучше сделать для быстроты...
а если еще глубже идти. то посмотри на "::"-опцию)
и как я уже писал...
1) работу в компоненте нужно делать в onInit() а не в контроллере...
2) controllerAs: "$ctrl" - уже сам по себе default-value, и является избыточным
Константин
Константин
На мой взгляд поток данных должен идти по кругу, а не взад-вперёд
Так компоненты становятся стабильнее и не влияют друг на друга
🎋🎋🥷 ngSamurai
Dima
pa[aad
@javascript_jobs
🎋🎋🥷 ngSamurai
Олег
Я так понял, что не один я такой. Передача данных в область видимости component поставит в тупик, если пользоваться официальной докой. Для меня стало ясно это после
http://www.devcode4.com/article/angularjs-component-bindings
И этого
https://medium.com/front-end-weekly/angularjs-component-binding-types-my-experiences-10f354d4660
🎋🎋🥷 ngSamurai
Anton
как лучше всего организовать межкомпонентное взаимодействие? у меня допустим есть родительский компонент и внутри него дочерний с выводом некоторого списка.
допустим, что в родительском нажимают на кнопку и из дочернего должен удалиться один из элементов списка. через emit делать?
Константин
Константин
вот пример компонента checklist
Константин
Константин
Константин
Anton
Понял, спасибо
Hey 👋, i'm Samvel
Привет всем. Кто работал с Aws?
Hey 👋, i'm Samvel
Не относится
Hey 👋, i'm Samvel
И что
🎋🎋🥷 ngSamurai
И что
Тут просто все строго по теме, чтобы флуд не создавать
pa[aad
это как зайти в чат по aws, а там обсуждают ангуляр
Dima
подскажите как более правильно из 2 вариантов.
Есть 2 сервиса
В каждом из них делать
$rootScope.$on('$stateChangeStart', (event, toState) =>{
ТУТ ДЕЛАЕМ что-то что касается именно этого сервиса.
})
Или делать 1 прослушку и внутри делать действия для 2 сервисов?
Dima
вот наглядно. Сводить все в 1 слушатель или лучше 2 но внутри действия более таргетинговые
Dima
pa[aad
Dima
хотя слушатель по сути на изменение стейта, так что наверно лучше в 1 месте держать 🤷♂️
pa[aad
даже лучше будет если сразу ивенты будут разные, что бы прилетали сразу нужные данные без кондишинов
pa[aad
надо разбираться вообщем, кейса не знаю
🎋🎋🥷 ngSamurai
@jashka_jashka / @DimaNazdratenko по/моему вешаться на *.$on в сервисе это не безопасное дело...
🎋🎋🥷 ngSamurai
привет! есть ли возмоэность докапаться где дигест ломается?
Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
🎋🎋🥷 ngSamurai
+ есть ли какой-нибудб пакет для анализа dependency injection в проекте? вроде https://github.com/compodoc/ngd?
Oleg
Zhanadil
ребята объясните плз, что происходит когда в обычную переменную закидываешь $q.defer, при работе с вебсокетом. Как можно узнать, что передается в $q.defer?
Zhanadil
в документации пишется что это промис, но откуда этот промис берет?
Zhanadil
Константин
Константин
узнаешь что туда кладётся)
Константин
только исходники не минифицированные)
Константин
а, например, вот здесь:
https://github.com/angular/angular.js/tree/master/src
🎋🎋🥷 ngSamurai
Зачем это нужно вообще? 🧐
🎋🎋🥷 ngSamurai
Привет! можно ли как-то залочить загрузку компонент и приложения до тех пор пока не закончится appRun'ер ?
Denis
🎋🎋🥷 ngSamurai
Не отображать? Disabled?
если в angular.run() есть асинхронные запросы, то приложение запускается дальше... т/о грузится "/" а за ним уже и "/login"...
Denis
Dima
подскажите плз
я когда подключал angularjs material с ним требовалось так же установить angular-aria
вот недавно баг обнаружился в одном месте приложения в input когда ввожу пробел, то срабатывает колбек какой-то который мне закрывает окошко и делает плохо) дебагер привел к angular-aria, типа там в коде пробрасывается че-то. Удалил angular-aria и да проблемы нет. Кто-то с таким сталкивался? как пофиксить?)
Rem1te
Удалил-продлема пофиксилась-готово вы великолепны
Rem1te
:)
Dima
в общем если еще кто-то столкнется, то как вариант вот такое решение)
https://github.com/angular/angular.js/issues/16664#issuecomment-413781723
🎋🎋🥷 ngSamurai
forgotPassword(model: Models.IForgotPasswordModel): ng.IPromise<void> {
var deferred = this.$q.defer<void>();
this.$http.post(HttpService.serviceBase + 'api/account/forgotpassword', JSON.stringify(model))
.success((data) => { deferred.resolve(); })
.error((data, status) => { deferred.reject(this.onError(data, status)); });
return deferred.promise;
}
почему во многих примерах/проектах используют $q для httpService'a????
Константин
Anton
ну это антипаттерн
Anton
Константин
допустим, если взять $timeout
если заюзать нативный setTimeout и внутри него изменить данные в $scope, то ангуляр не поймет что нужно обновить юай, и придётся вручную запускать дайджест
если же $timeout, то ангуляр сделает всё сам
Anton
Константин
Anton
можно это все сделать и без $q
Константин
Anton
"кастомно обрабатывать запросы, например если имеем дело с цепочкой промисов"
Anton
думаю, тут напилили через $q как раз из-за deferred.reject(this.onError(data, status));
Anton
предположение
Константин
как без $q сделать?
Anton
да, похоже, что ты прав