@angular_js

Страница 174 из 325
Sergei
29.08.2017
17:40:49
посоветуйте пожалуйста, как правильно организовать angural проект, который не является SPA, а используется на сайте в разных местах (например авторизация/регистрация, оформление заказа, может там список товаров с подгрузкой и прочее) Сейчас я использую примерно такую структуру из нескольких модулей: app1 -component1 -component1_template -component2 -component2_template ... app2[app1] -component1 -component1_template -component2 -component2_template ... итд, притом некоторые модули зависят от других (например модуль записи на мероприятие в одном из компонентов отображает компонент из другого модуля (checkout-процедура) ) правильный ли такой подход или лучше сделать одно приложение с кучей компонентов?

Anton
29.08.2017
17:51:23
Вполне

Тоже на старом проекте так делал

Только у меня не апп

Google
Anton
29.08.2017
17:52:15
А модули

Sergei
29.08.2017
17:52:39
на странице один единственный ng-app, в котором денамически выстраиваются зависимости

ну да, модули

Anton
29.08.2017
17:53:08
Ну норм

Ivan
29.08.2017
17:53:25
Как такое может быть? (( http://joxi.ru/12MEE0QU4wWG92.jpg а кнопка так и не меняется

Sergei
29.08.2017
17:53:43
Ну норм
а собирал ты чем?

Anton
29.08.2017
17:54:25
Gulp

Каждый модуль отдельно

Sergei
29.08.2017
17:54:59
отдельно?

понятно

Ivan
29.08.2017
17:59:23
Как такое может быть? (( http://joxi.ru/12MEE0QU4wWG92.jpg а кнопка так и не меняется
получается что модель изменилась, а представление нет

нашел ответ на вопрос )) http://trykov.ru/apply-i-digest-v-angularjs/

Anton
29.08.2017
18:03:42
Дайджест цикл

Google
Anton
29.08.2017
18:04:07
На нем все основано в нг-1х

Ivan
29.08.2017
18:04:19
ага)

Luckydevil13
30.08.2017
07:20:21
может у кого есть книжка https://www.ng-book.com/modern-ng1/

max
30.08.2017
07:27:18
@magvan777 надо было $timeout делть

Ivan
30.08.2017
07:41:14
@magvan777 надо было $timeout делть
max Спасибо, это решение изящнее

Иван
30.08.2017
09:17:48
что-то я тут по кругу хожу, нужна "резиновая уточка"... сейчас всё чаще задумываюсь о переходе на ангуляр2+, и уже идея не кажется такой уж недостижимой как, скажем, месяц назад. смотрю на свой код и пытаюсь предугадать, где могут быть проблемы. и вот довольно часто встречающийся кусок кода в компонентах: this.$scope.$watch(() => this.service.data, () => { /* react on service state changing */}); как понимаю, никакого $scope нет в ангуляр2+ нет, посему ищу достойную альтернативу, и прихожу к выводу, что стандартных путей решения нет ($onChange детектит изменения только внешних биндингов, на изменения состояния сервиса это не распространяется). и вопрос... что делать-то? желательно так, чтобы потом не переписывать...

Nikolai
30.08.2017
09:20:21
можно делать сеттер, и в сеттере вызывать колбек от воча

Иван
30.08.2017
09:27:01
ну проблемма в том, что если думать о сеттере, то он вроде как должен быть в сервисе, при этом выполнять код компонента... ну как бы совсем ужасно, если вообще реализуемо.

Bohdan
30.08.2017
10:45:44
У rxjs есть BehaviorSubject, что на метод asObservable возвращает обзербл. А с ним уже можно без проблем работать как с обычным реактивным потоком. В сам сабжект элементы передаются через метод next, если не ошибаюсь

И потом можно инжектить сервис в компонент, вызывать getObservable, что вернет обзербл этого сабжекта и работать с ним как угодно со всей мощью rxjs

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

Иван
30.08.2017
10:50:32
ну как бы да... the winner is... rxjs!!! примерно к этому всё и шло, хотел услышать это от кого-то ещё. всем спасибо.

Bohdan
30.08.2017
10:51:57
Я rxjs и на первом ангуларе использую, очень удобно, могу сказать

Иван
30.08.2017
10:52:52
ну пока выглядит "так себе на троечку"...

если раньше это была просто пропертя сервиса нужного типа, которую можно было сразу же забиндить на вьюху, теперь это раскрытие внутренней реализации и оверхэд с перекладыванием значения из сервиса в компонент...

возможно просто с непривычки это выглядит так стрёмно, но пока я с какой-то гримасой отвращения на это всё смотрю...

как говорится: "за что боролся, на то и напоролся..."

Bohdan
30.08.2017
10:57:06
Не вижу каких то особых проблем в этом :) Куда лучше чем скоуп у первого ангулара

Я обычно пишу сервис апи к компоненту и дергаю его методы по необходимости. Если же нужно как то работать с данными на фронте, то пишу еще один сервис, что дергает сервис апи, обрабатывает данные как нужно, и получаю реактивный поток в компоненте для отображения с этого промежуточного сервиса

Ruslan
30.08.2017
11:00:16
Не подскажете, сайт ангуляра не лежит случаем?

Google
Sergei
30.08.2017
11:02:49
да, на angularjs.org зайти не удается

Иван
30.08.2017
11:04:55
Не вижу каких то особых проблем в этом :) Куда лучше чем скоуп у первого ангулара
возможно нужно просто привыкнуть, немного изменить отношение и подход работы... пусть слегка отстоится...

Anton
30.08.2017
11:29:38
Всем привет!

У кого-то еще не заходит на сайт доки?

Сюда, например https://docs.angularjs.org/api/ng/service/$q

Ruslan
30.08.2017
11:31:23
Лежит родимый

Совсем отказались от поддержки

Konstantine
30.08.2017
11:58:35
Йо

Gkio
30.08.2017
14:04:32
hello may i ask something

about $http post

when i am posting some data it returns

data: [object Object]

on network

any idea?

Bohdan
30.08.2017
14:20:44
data: [object Object]
in debugger?) console view, yes? console.log(JSON.stringfly(data.data));

Gkio
30.08.2017
14:24:02
on network

the form data

its an object

but its not encode it

Bohdan
30.08.2017
14:25:12
its an object
You need JSON.stringfly method for send json to server as text

Google
Gkio
30.08.2017
14:29:28
getVirtual: function (data) { return $http({ method: "POST", url: 'api/fetch/virtual', data: data }); }

i make like this

Remite
30.08.2017
14:30:42
You data is FormData object ?

Bohdan
30.08.2017
14:31:40
getVirtual: function (data) { return $http({ method: "POST", url: 'api/fetch/virtual', data: data }); }
getVirtual: function (data) { return $http({ method: "POST", url: 'api/fetch/virtual', data: JSON.stringfly(data) }); }

Sasha
30.08.2017
15:35:15
Пагни, в общем есть такой кейс, нужно по урлу открывать диалог. Это вообще нормальная практика? Грубо говоря, есть некая система нотификаций, которая встроена во все приложения внутри экосистемы, туда встраиваются ссылки и по переходу должен открываться диалог (confirm/cancel).

Ilya
30.08.2017
15:47:17
открывать по урлу диалог - нормальная практика)

Remite
30.08.2017
15:55:59
а что в кейсе получить по определенному пути какую-то информацию вас пугает ?:)

Sasha
30.08.2017
15:58:54
а что в кейсе получить по определенному пути какую-то информацию вас пугает ?:)
Не совсем понял. Грубо говоря, один юзер хочет расшарить другому какой-нибудь пресет. К сожалению, на данный момент в нотификациях нет кнопок, поэтому нужно открывать диалог для того, чтобы подтвердить или отменить со стороны получателя. Поэтому когда консумер получает нотификацию, он кликает по ссылке, где и должен открыться этот диалог.

Только вот в чем проблема, если это например angular-material, где диалог открывается через сервис, как его совместить с ui-router ом так, чтобы урл срабатывал в любом месте? Везде отлавливать query_string?

А все, да. Через квери стринг нормально

Иван
30.08.2017
18:37:40
Я смотрел на него... Но он мне показался, ну совсем топорным решением из серии "ах вам ремиксы мои не нравятся©, тогда на-те вам коллбэк на каждый ченьж е@#$@тесь сами..."

Даже не на каждый ченьж, а на каждый дайджест... Мне кажется это ещё и на производительности может сказаться.

Nikolai
30.08.2017
19:49:16
но это нужно, если надо глубокий воч. На простой надо сеттер

Иван
30.08.2017
20:08:19
на каждый чейндж. Не на дайджест.
$doCheck() - Called on each turn of the digest cycle. https://docs.angularjs.org/guide/component

Nikolai
30.08.2017
20:08:44
ок. Постоянно он не фаерится

Иван
30.08.2017
20:14:16
Спасибо, конечно, за варианты, но мне этот подход не понравился. Сохранение каждого интересуемого свойства, сверка его на предмет изменения, в процессе дайджеста... Ну очень похоже на отчаяние разработчиков ангуляра. Ну серьёзно ?. Прям какая-то крайняя мера.

Nikolai
30.08.2017
20:17:07
от воча не просто так отказались

Google
Иван
30.08.2017
20:23:24
Думаю вотч примерно так и работал, просто с простыми типами у него хватало ума понять, что не нужно подпрыгивать, если ничего не поменялось. Так что не далеко они ушли от этого подхода.

Юрий
31.08.2017
07:01:21
/stat@combot

Combot
31.08.2017
07:01:21
combot.org/chat/-1001024737789

Ruslan
31.08.2017
07:04:21
Прикольно

Combot
31.08.2017
07:08:57
combot.org/chat/-1001024737789

Иван
31.08.2017
08:22:16
Ой, простите ?

Remite
31.08.2017
08:25:14
О там даже я есть

Не успел зайти в канал уже в рейтинге появился, надо меньша трепаться -_-

AP?
31.08.2017
08:25:49
парни, а подскажите слайдер какой-нибудь адекватный

Remite
31.08.2017
08:25:50
Может тогда таски буду успевать делать

Angular Material Angularjs-Slider

AP?
31.08.2017
08:26:35
спасибо, ща посмотрю

image-слайдер)

Remite
31.08.2017
08:30:10
аа

карусель ?

AP?
31.08.2017
08:30:27
да, вроде того

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