Валера
в консоли undefined - нормально?
Валера
хотя ф-ция работает
Sergey
Пропробуйте в функции $onInit логировать
Sergey
Тогда биндинги локальные гарантированно уже существуют
Валера
Пропробуйте в функции $onInit логировать
да, тут есть, но почему в таком виде? h() ​ length: 1 ​ name: "" ​ prototype: Object { … } ​ <prototype>: function ()
Валера
вместо myFunction - h
Sergey
Ну это надо смотреть что вы туда передаете
Sergey
Возможно это из-за биндингов, нг там что-то делает с нею
Sergey
Я никогда не смотрел биндинги колбэков
Валера
из-за этого все ф-ции из биндинга теряют имена и мне не отписаться от события, на которое подписался в другом компоненте
Валера
получается с handler' ом через биндинг нельзя работать?
Sergey
Я не могу ответить на этот вопрос, не пробовал
Rem1te
и да после он инита
Rem1te
по поводу имени и подписки на колбеки, а что вы пытаетесь реализовать?
Валера
this.myFunction
в одном компоненте подписался на событие angular.element(document.body).on('keyup', ctrl.onKeyup);, а после открытия модала(он открывается из другого компонента) надо отписаться от этого события, пытаюсь прокинуть ctrl.onKeyup в другой компонент и там сделать так в $mdDialog.show onComplete: function(){ angular.element(document.body).off('keyup', ctrl.onKeyup); }
Валера
но после биндинга ctrl.onKeyup консолится как h() ​ length: 1 ​ name: "" ​ prototype: Object { … } ​ <prototype>: function ()
Rem1te
попробуйте конечно передать коллбек как <
Валера
т.е. имя ф-ции теряется
Rem1te
но мне чета не очь вообще ваше решение
Rem1te
какая-то сильно плотная связь между компонентами один подписывается скидывает коллбек черт знает куда что бы тот вместо него отписался
Rem1te
может сервис какой расшарить
Валера
у меня опыта мало ещё, поэтому только это решение пока пришло в голову
Валера
если оно нереализуемо- буду искать другое
Rem1te
я бы все таки создал сервис который отвечает за эту логику и вынес подписку отписку и все остальное туда
Валера
я бы все таки создал сервис который отвечает за эту логику и вынес подписку отписку и все остальное туда
спасибо, если не заработает - буду так пробовать, тем более так правильней будет
Connor
#whois Всем привет. Дима студент. Украина. Учу Angular/ .net узнал отсюда https://netology.ru/blog/prg-tg
pa[aad
#whois Всем привет. Дима студент. Украина. Учу Angular/ .net узнал отсюда https://netology.ru/blog/prg-tg
смотри, тут же чат про первый ангуляр AngularJS а ест новый Angular не путай
Connor
Думал кикать будут))
Connor
красава) давно о себе не писали)
Connor
Спасибо, знаю
Connor
смотри, тут же чат про первый ангуляр AngularJS а ест новый Angular не путай
Максим
смотри, тут же чат про первый ангуляр AngularJS а ест новый Angular не путай
не обязательно пересылать сообщения, лучше на него отвечать.. это нагляднее и удобнее
pa[aad
кто тут юзает ng-annotate ? или все ручками инжекты пишут ?
pa[aad
у меня со временем он memory leak делал
pa[aad
я тут пишу для легаси проекта на TS свою реализацию автоинжекта под webpack loader с декоратором @Autowired() для классов и стандартным ngInject для функций
Bogdan
кто тут юзает ng-annotate ? или все ручками инжекты пишут ?
Я руками делал А потом перешёл на angular-ts-decorators)
pa[aad
Я руками делал А потом перешёл на angular-ts-decorators)
там же нету автоматического инжекта, все равно руками
pa[aad
я тоже то использую
Bogdan
Ну отчасти хоть)
Bogdan
Самописные классы то вставляет автоматом
Валера
в одном компоненте подписался на событие angular.element(document.body).on('keyup', ctrl.onKeyup);, а после открытия модала(он открывается из другого компонента) надо отписаться от этого события, пытаюсь прокинуть ctrl.onKeyup в другой компонент и там сделать так в $mdDialog.show onComplete: function(){ angular.element(document.body).off('keyup', ctrl.onKeyup); }
решил проблему надо прокидывать не handler, а функцию в которой происходит отписка от события, вместо этого onComplete: function(){ angular.element(document.body).off('keyup', ctrl.myHandler); } будет так onComplete: function(){ ctrl.eventListenerOff(); } а в первом компоненте ctrl.eventListenerOff = function(){ angular.element(document.body).off('keyup', ctrl.myHandler); }; только бы узнать почему так...
Ася
Всем привет, можете посоветовать годный материал для изучения по angular6?
Ася
Ок, спасибо
Dart
Всем Привет. Использую $location.search. При переходах на другие маршруты/url параметры в адресной строке сохраняются. Вроде и не мешает, но странно видеть параметры не для этого контроллера :) Подскажите: это нормальное поведение?
Rem1te
нет
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
@DartDronius this.$onDestroy = function() { $location.search('key', null); };
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
Dart
+
У меня не компоненты :(
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
как это?
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
если все на скоупах - тогда просто $scope.$onDestroy ....
Dart
если все на скоупах - тогда просто $scope.$onDestroy ....
Что то типа того? $scope.$on('$destroy', function() { // код });
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
@DartDronius все верно
Dart
@DartDronius все верно
Спасибо. Попробовал. вставил такой код для проверки: $scope.$on('$destroy', function() { alert('OnDestroy'); }); Событие срабатывает даже при обращении к данным. То есть поведение непредсказуемое...
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
это странно, должно срабатывать только когда уходим на другой роут
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
ок, можно подписаться на события роутера, так даже лучше
Ԓ̵̟̻̪̥͍̹̦̼͑̋́̽̎͒̑͆̚͜͜о̶̢̛̖̞̬̥̪͎̖̗̗̝̯̫͈̜́̋͋͆̒̔͊̍̑̄͝р̷̥̠͓̘͎̑̋̚д̶͒́
напимер, для UI-Router, на стадии .run, слушаем onBefore на $transitions, и там очищаем урл от параметров
Dart
Спасибо. Попробую
Артур
@jashka_jashka
pa[aad
вам сюда @javascript_jobs прошу в след. раз сюда вакансии больше не постить
Алексей
Хелпаните с вопросом, если кто понимает как canvas работает https://toster.ru/q/546398
Андрей
Парни, хелп нужно что б по нажатию на форму, экран двигался к ней(якорь)
Rem1te
ебать не делайте так
Rem1te
ага не юзайте скоуп не юзайте джиквери
Rem1te
https://jsfiddle.net/brettdewoody/y65G5/
Rem1te
Вот солюшн которому уже сотни лет
Михаил
вопрос, как во все модули инъектить другой модуль, без явного прописывания? #вопрос
Rem1te
вопрос, как во все модули инъектить другой модуль, без явного прописывания? #вопрос
Модуль? Подключить один раз и не приедет во все приложение
Михаил
ну допустим, много модулей компонентов, не переписывая в них инъект автоматически вставить некий модуль
Eugenio
ну допустим, много модулей компонентов, не переписывая в них инъект автоматически вставить некий модуль
1. создаешь файл _index.js и прописываешь вручную (собираешь все зависимости: компоненты, константы и тд), файл должен быть на уровень выше в директории с проектом, чтоб инъекция прошла как надо; 2. используешь ng-annotate
Артур
@jashka_jashka