@angular_js

Страница 284 из 325
AluV
09.07.2018
10:31:52
Я смог подключить и прокинуть в ангуляр эту либу: https://www.npmjs.com/package/full-countries-cities но оказалось что страны и регионы не связаны, потому что в странах нет кода страны, а регионы по этому коду находятся. Гениально

Гайз а чтобы заинжектить свой сервис его надо как то в resolve роута еще прокидывать ?

Iron
09.07.2018
12:30:47
Гайз а чтобы заинжектить свой сервис его надо как то в resolve роута еще прокидывать ?
в резолве возвращаешь значение/промис, инжектишь имя проперти, тогда в контроллере по этому имени будет результат

AluV
09.07.2018
12:31:29
так сервис он уже существует и он синглтон, как возвратить его экземпляр

Google
Iron
09.07.2018
12:32:08
не екземпляр, а метод сервиса

если надо просто сервис инджектнуть, его не надо в резолв закидывать

Remite
09.07.2018
12:50:44
Если Вы хотите подменять сервис в компоненте на лету то да нужно резолвить через роутер

Если Вам просто нужно сервис, вы можете его просто заинжектить

AluV
09.07.2018
13:06:42
Если я буду в конструкторе просто писать countriesService: CountriesRegions, то получу что то вроде: Error: [$injector:unpr] Unknown provider: countriesServiceProvider <- countriesService <- TherapistController

AluV
09.07.2018
13:18:42
1.5.11

AluV
09.07.2018
13:32:29
angular.module(...). .service('CountriesRegions', CountriesRegions)

Пробовал в resolve роута писать countriesService: (service: CountriesRegions) => { ... } у меня тогда белый экран без ошибок :) :)

оказалось, чтобы заинжектить, надо называть переменную точно так же как и тип CountriesRegions: CountriesRegions, О боже, 100500 потраченного времени

Talgat
09.07.2018
14:40:26
Привет всем! Такой вопрос: Я вставляю диррективу в темплейт в двух разных страницах в одной все инициализировалось во второй нет, Где надо искать проблему?

Могу код показать

Google
Talgat
09.07.2018
14:44:49
http://prntscr.com/k4cefd

http://prntscr.com/k4ceor

В первом скрине дирректива не работает, а во втором работает. В чём может быть проблема?

Вообщем директива в разных контроллерах ведет себя по разному

Remite
09.07.2018
17:59:28
оказалось, чтобы заинжектить, надо называть переменную точно так же как и тип CountriesRegions: CountriesRegions, О боже, 100500 потраченного времени
я ответил ещё 5 часов назад, отпишите инжекты после билда с минификацией ваши инжекты которая строятсья на именах переменных рассыпяться

Andrey
09.07.2018
18:08:15
оказалось, чтобы заинжектить, надо называть переменную точно так же как и тип CountriesRegions: CountriesRegions, О боже, 100500 потраченного времени
как бе, countriesService: (service: CountriesRegions) вот тут ангуляр не смотрит на тип, а в рантайме типов нету, по этому имя переменной с сервисом нужно называть именем самого сервиса а при минификации делать вручную описывать инжекты или заюзать какой-то плагин под вебпак или что там у тебя вот тогда можешь называть сервис как хочешь в том месте где инжектишь

Михаил
10.07.2018
06:36:27
доброго, пришел сюда из https://t.me/js_ru, работаю над внутрикорпоративным веб-проектом - разные моменты учетной системы (не просто CRM) хочу спрашивать вопросы и смотреть, что тут пишут #whois

голову сломал, есть компонент, который активизируется через ng-if="свойство", а это свойство устанавливается при клике, так вот, контроллер-функция этого компонента срабатывает дважды, соответственно дважды запускается $ctrl.$onInit. Понять не могу, почему не один раз

Denis
10.07.2018
07:15:43
Как именно устанавливается при клике?

Михаил
10.07.2018
07:42:42
просто ng-click="свойство = true"

AluV
10.07.2018
11:52:34
Говорят первый англуляр может некорректно вотчить одиночные переменные в scope и их закидывают в объект, например: <input ng-model="shareObj.searchTerm" ... /> Помогло, у меня почему то теперь ng-model не работает напрямую не через объект. Возможно это косяки ангуляра с ng-if

это связанно с директивами и вложенность. Ng-If пришлось заменить на ng-show

AluV
10.07.2018
12:49:16
Все что я знаю про ng-if это он напрямую работает с DOM деревом, тогда как ng-show / hide скрывают и то что он оборачивает элемент в дочерний scope

Remite
10.07.2018
12:49:39
весь ангулярджс напрямую работает с дом деревом

в далеком 2009 ещё никто не знал про эти ваши виртуал домы

Sergey
10.07.2018
13:44:13
Ng-if создаёт новый скоп (не изолированный, а наследуемый), а ng-show/hide - нет.

а к какой это проблеме может привести не уточнишь? любой пример было бы не плохо

Проблем нет, если прокидывать данные во вью через поля объекта. Но, допустим, ты хочешь показывать поле, редактирую шее строку, через ng-if. А строка это просто поле в скопе $scope.str1. собственно, ng-if создаст новый скоп и ты не увидишь изменений в родительском

Google
Sergey
10.07.2018
13:44:14
Собственно - вот. Меняем ng-if/ng-show и видим разницу https://codepen.io/splatonov92/pen/QmovLJ

Vitaliy
10.07.2018
13:44:20
.

Vitaliy
10.07.2018
13:44:33
/stat@combot

Combot
10.07.2018
13:44:33
combot.org/c/-1001024737789

AluV
10.07.2018
13:49:57
Сейчас юзаю md-select, когда выбираю любое значение форма вся отправки помечается как invalid. Сижу гуглю, снова на пустом месте палка в колеса ?

У md-select свойство multiple нельзя передавать переменную, она сразу же инициализируется и не обновляется. Только true/false. Если я делаю ng-show и оставляю два выпадающих списка даже если один скрыт то в модели не Array а одно значение и валидатор ругается

ng-if нельзя юзать, ng-show нельзя ++

Максим
10.07.2018
14:17:54
а кто-то используется yandex maps?

Vitaliy
10.07.2018
14:20:14
- (дезинформацуя)

Проблема - есть компонента, внутри которой куча ссылок. - есть роут типа /sport/:name?param1&param2&param3&param4&param5 - name - вкладка (tab), внутри которой добавляються или убираються param* Вопрос: как убирать param* для перехода на другие вкладки, с других компонент на данный роут, и собственно на саму и ту же вкладку, но без параметров?

орпции роута { name: 'rout', url: '/sport/:name?param1&param2&param3&param4&param5', template: '<component></component>', params: { name: 'onetab', param1: {value: null, inherit: false}, ... } },

Vitaliy
10.07.2018
15:13:18
делаю $state.go($state.$current.name, { ... }, {reload: false, location: 'replace'}); и все - торба, прилетаю параметры всегда и всюду

Denis
11.07.2018
06:44:33
Привет. пытаююсь подключить https://github.com/SidebarJS/angular-sidebarjs



По документации все подключил

Inna
12.07.2018
07:34:10
Всем привет, есть кто из Минска? или Беларуси)

Валера
12.07.2018
08:26:26
angular.module('mainApp').component('myComp', { bindings: { myFunction: '&' }, templateUrl: 'template.html', controller: function () { var ctrl = this; console.log('myFunction', ctrl.myFunction);

в консоли undefined - нормально?

хотя ф-ция работает

Google
Sergey
12.07.2018
08:31:29
Пропробуйте в функции $onInit логировать

Тогда биндинги локальные гарантированно уже существуют

Admin
ERROR: S client not available

Валера
12.07.2018
08:32:59
Пропробуйте в функции $onInit логировать
да, тут есть, но почему в таком виде? h() ​ length: 1 ​ name: "" ​ prototype: Object { … } ​ <prototype>: function ()

вместо myFunction - h

Sergey
12.07.2018
08:38:49
Ну это надо смотреть что вы туда передаете

Возможно это из-за биндингов, нг там что-то делает с нею

Я никогда не смотрел биндинги колбэков

Валера
12.07.2018
08:40:52
из-за этого все ф-ции из биндинга теряют имена и мне не отписаться от события, на которое подписался в другом компоненте

получается с handler' ом через биндинг нельзя работать?

Sergey
12.07.2018
09:05:57
Я не могу ответить на этот вопрос, не пробовал

Валера
12.07.2018
09:08:42
Remite
12.07.2018
09:47:33
и да после он инита

по поводу имени и подписки на колбеки, а что вы пытаетесь реализовать?

Валера
12.07.2018
11:25:13
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 ()

Remite
12.07.2018
11:26:24
попробуйте конечно передать коллбек как <

Валера
12.07.2018
11:26:25
т.е. имя ф-ции теряется

Google
Remite
12.07.2018
11:26:31
но мне чета не очь вообще ваше решение

какая-то сильно плотная связь между компонентами один подписывается скидывает коллбек черт знает куда что бы тот вместо него отписался

может сервис какой расшарить

Валера
12.07.2018
11:29:25
у меня опыта мало ещё, поэтому только это решение пока пришло в голову

если оно нереализуемо- буду искать другое

Remite
12.07.2018
11:32:22
я бы все таки создал сервис который отвечает за эту логику и вынес подписку отписку и все остальное туда

Валера
12.07.2018
11:36:26
я бы все таки создал сервис который отвечает за эту логику и вынес подписку отписку и все остальное туда
спасибо, если не заработает - буду так пробовать, тем более так правильней будет

Dima
12.07.2018
12:14:49
#whois Всем привет. Дима студент. Украина. Учу Angular/ .net узнал отсюда https://netology.ru/blog/prg-tg

Andrey
12.07.2018
12:48:01
#whois Всем привет. Дима студент. Украина. Учу Angular/ .net узнал отсюда https://netology.ru/blog/prg-tg
смотри, тут же чат про первый ангуляр AngularJS а ест новый Angular не путай

Dima
12.07.2018
12:48:52
Думал кикать будут))

красава) давно о себе не писали)

Страница 284 из 325