@angular_js

Страница 91 из 325
Дмитрий
10.12.2016
08:08:04
Я могу получить такую же подсказу при использовании di?

Andrei
10.12.2016
08:10:20
Насколько я понял, вы использовали паттерн фасад для работы с $http, т.е. скрыли конкретную реализацию в своем модуле. Вы импортируете свою реализацию так import request from request/unirest/axios. И совершенно неважно, как модуль именован при импорте, это могло бы быть и import {request as http} from request/unirest/axios. Вы все равно привязаны к конкретной реализаций которая находится в конкретном модуле. Теперь, предположим, у вас есть задача: вернуться к стандартному $http сервису. Вы должны либо переписать реализацию в свое модуле, либо поменять импорты во всех файлах. DI позволяет переключаться между конкретными реализациями очень быстро, одной строчкой кода, без модификации каждой из них в отдельности. Это принцип разделения ответственности, когда класс не знает о своих зависимостях. Про webpack я ничего не могу сказать, но вряд ли webpack передает созданный объект в конструктор класса, а это важно при использовании ES6 и TS.

Дмитрий
10.12.2016
08:13:09
Теперь, предположим, у вас есть задача: вернуться к стандартному $http сервису. Вы должны ̶ ̶л̶и̶б̶о̶ переписать реализацию в свое модуле ̶,̶ ̶л̶и̶б̶о̶ ̶п̶о̶м̶е̶н̶я̶т̶ь̶ ̶и̶м̶п̶о̶р̶т̶ы̶ ̶в̶о̶ ̶в̶с̶е̶х̶ ̶ф̶а̶й̶л̶а̶х̶.̶ Я должен просто поменять импорт в модуле. Да, фасад. Смысл модуля api в том, что он оборачивает чуть больше, чем просто http, пример на скрине выше, но если взять самую примитивню реализацию, то можно сделать так

export default from 'request'

Google
Andrei
10.12.2016
08:13:21
Плюс не знаю как в ангуляре с di, но с импортом модулей у меня появляется возможность адекватной типизации
Типизация должна рабоать при использовании TS. Подсказки, увы не будут отображаться если писать на js

Дмитрий
10.12.2016
08:13:25
Это будет весь модуль в принципе

Типизация работает

В качестве intellisense, естественно, не конструкций языка

В общем, я крайне скептически отношусь к устаревшим кострукциям, тем более заменяющим явное — неявным. И даже в последнем проекте на angular просто использовал модули с нормальным человеческим import, чему был сильно рад)

Andrei
10.12.2016
08:23:17
С чего вы взяли, что DI устаревшая конструкция? Она успешно используется в Java, C#, PHP и других языках. И import нисколько не заменяет инъекицю зависимостей. ES6 модули - это именно способ организации кода. DI - разделение ответственности.

Дмитрий
10.12.2016
08:27:30
Потому что синтаксис di в angular 1 — это обычный amd модуль по своей сути

AMD — это 2010 год, сейчас люди используют whatwg spec

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

Andrei
10.12.2016
08:29:22
Где вы там amd нашли?

Дмитрий
10.12.2016
08:29:48
Суть одна и та же

Fayozjon [CybernatiC]
10.12.2016
08:29:53
Google
Дмитрий
10.12.2016
08:30:11
Я знаю, что это не одинаковые технологии, но меня как их пользователя это не очень волнует

Andrei
10.12.2016
08:30:30
В Angular модуль нужен для изоляции зависимостей. И только

Никакого ansynchronous там нет

Дмитрий
10.12.2016
08:31:31
Тем более. Я про форму записи, влекущую за собой ряд проблем и неудобств

Andrei
10.12.2016
08:31:51
И потом, вас не удивляет, что некоторые люди используют RequireJS вместе с первым ангуларом?

Это не форма записи. Вы можете сделать один модуль в Angular, в нем использовать стандартный $http, в другом модуле этот же $http будет задекорирован

Дмитрий
10.12.2016
08:33:24
В современном мире я могу написать import fabric from './fabricZero' Где fabricZero будет не файлом а громадной папкой со сложносочинённой структурой Или будет просто файлом fabricZero.js

Andrei
10.12.2016
08:33:31
Это в принципе все, для чего там нужны модули

Дмитрий
10.12.2016
08:33:35
В webpack есть alias, которые фактически являются реализацией этих же di, можно например заменить во всём приложении сразу все объекты Promise на bluebird или ещё что устроить, ну то есть примерно тот же механизм, пишешь new Promise, а он уже заинжекчен нужным модулем

В общем, я крайне скептически отношусь к устаревшим кострукциям, тем более заменяющим явное — неявным. И даже в последнем проекте на angular просто использовал модули с нормальным человеческим import, чему был сильно рад)

Andrei
10.12.2016
08:39:45
Вы понимаете, что модуль в Angular - это контейнер для зависимостей, а модуль в ES6/AMD/CommonJS - это файл с кодом?

d0as8
10.12.2016
09:06:07
путаем теплое с мягким. если я правильно понимаю, ди - некий паттерн организации взаимодействия компонентов(объектов), который обеспечивает минимальную связанность. а импор - организация кода в проекте.

Alexander
11.12.2016
14:28:39
Аве

Кто-нибудь может помочь? Уже день без ответов https://goo.gl/85xQkS

Дмитрий
11.12.2016
17:36:59
Кто-нибудь может помочь? Уже день без ответов https://goo.gl/85xQkS
Сделай фабрику, которая будет принимать функцию вида createAction = ({ $http, $q }) => { ... }

Alexander
11.12.2016
17:38:39
>Using this action creator as angular service is unsuitable for me, because it can be called from non-angular conditions.

Я так понимаю, юзание $http вне angular являетсся практически невозможным?

Артем
11.12.2016
18:44:19
Стоит ли перед изучением angular 2 изучать предыдущие версии?

Есть кто здесь?

Google
Fayozjon [CybernatiC]
11.12.2016
18:47:37
учи сразу angular 2

Артем
11.12.2016
18:48:23
Спасибо

Слышал про книгу ng book 2

Она еще не устарела?

Можно по ней учиться?

Fayozjon [CybernatiC]
11.12.2016
18:51:18
Я бы начал с сайта angular.io

egghead.io

Artyom
11.12.2016
19:25:39
Полностю согласен. Реализация di в первом анугляре была не на высоте. Во втором же внедрение зависимостей происходит через параметры конструктора. То есть вы импортируете нужный класс используя es6 модули и потом указываете его как параметр конструктора. Тут начинает работать типизация и разрешает зависимости по типам внедряемых зависимостей. Как это работает на чистом js если чесно не знаю. es6 модули это одно, а di совершенно другое. di как паттерн используется во многих языках. И одно другому совершенно не мешает.

путаем теплое с мягким. если я правильно понимаю, ди - некий паттерн организации взаимодействия компонентов(объектов), который обеспечивает минимальную связанность. а импор - организация кода в проекте.

Super
12.12.2016
00:16:33
/stat@combot

Combot
12.12.2016
00:16:35
combot.org/chat/-1001024737789

combot.org/chat/-1001024737789

Gordey
12.12.2016
11:01:49
Чуваки! Приходите к нам на митап через 2 дня! https://rambler-co-e-org.timepad.ru/event/419923/

Max
12.12.2016
12:36:22
кто то встречал такую ошибку при сборке фронта в тим сити ECONFLICT Unable to find suitable version for angular

Max
12.12.2016
12:55:05
ага

Dmitri
12.12.2016
12:56:14
добавьте секцию "resolutions" с версией требуемой библиотеки

Admin
ERROR: S client not available

Max
12.12.2016
13:05:10
добовлял не помогло

Anton
13.12.2016
00:21:07
/stat@combot

Google
Combot
13.12.2016
00:21:07
combot.org/chat/-1001024737789

Nick
13.12.2016
18:56:21
Ребята, всем привет. Я из loftblog.ru и loftschool.com. Ищем нового преподавателя по angular.js. Кому интересно пишите в личку

Oleg
13.12.2016
19:41:23
Привет Николай :)

Alexander
13.12.2016
19:43:23
25к за курс

Артем
13.12.2016
21:33:50
Есть ли в минске какая нибудь конференция по abgular 2?

Бывают ли?

Fayozjon [CybernatiC]
13.12.2016
21:41:03
Google Maps Javascript api есть функция очистить карту?

Alexander
13.12.2016
21:42:33
Почему ты решил задать этот вопрос именно здесь

Sergey
14.12.2016
09:54:15
Есть ли в минске какая нибудь конференция по abgular 2?
есть тусовки фронтэндщиков, ролинг скоупы всякие

там правда много хипстаты которая восхваляет реакт и пишет макароны на jquery, но в целом встречаются клевые ребята

Amon Bower
14.12.2016
18:10:04
Подскажите, почему не выполняется код внутри который в теле функции .get()

Я делаю клик по ссылке и должен отправлять пост запрос подгрузкой статьи. Запрос отправляется, но в консоли ничего не выводит

Alexander
14.12.2016
18:11:02
Какая версия angular?

Amon Bower
14.12.2016
18:11:53
1.4.8

Alexander
14.12.2016
18:12:08
https://code.angularjs.org/1.4.14/docs/api/ng/service/$http

Amon Bower
14.12.2016
18:12:49
Как меня это бесит. Когда я задаю вопрос в чате или на сайтах, я черт подери нахожу решение.

.success()

решил вопрос

Alexander
14.12.2016
18:13:09
Нужно просто немного читать документацию, перед тем, как задавать вопрос

Amon Bower
14.12.2016
18:13:34
согласен

Google
Alexander
14.12.2016
18:13:50
Не уверен, что .success() сработает, в 1.4, если не ошибаюсь $http возвращает промис

А, нет, сработает

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