Sheridan
эммм...
Rem1te
Angularjs services
Sheridan
мне нужен скоуп приложения. Корня.
Rem1te
Вы можете шарить данные через сервисы
Rem1te
ааа это называется $rootScope
Rem1te
но в него не принято ничего класть
Sheridan
Sheridan
мне этот scope нужен глобально
Oleg
лучше сделать его сервисом
Sheridan
хотя мне уже кажется что зря я ангуляр взял и на голом js+jq уже бы сделал...
Sheridan
Oleg
да были. собственно раньше они делались через фабрики, очень давняя штука
Sheridan
https://code.angularjs.org/1.5.11/docs/guide/services это имеется в виду? события?
Sheridan
Note: Like other core Angular identifiers, built-in services always start with $ (e.g. $http).
Sheridan
гм.. а $scope не сервис?...
Віталій
сервис
Sheridan
Angular services are: Singletons
Sheridan
как мне отовсюду получить доступ к синглтону $scope приложения?...
Rem1te
Скоуп не сервис
Sheridan
(
Sheridan
понял
Rem1te
Есть ещё рут скоуп, это глоабльная область видимости приложения, но писать что-то туда - плохая практика
Rem1te
если Вам нужно передавать данные между двумя компонентами просто используйте сервис
Rem1te
Или же передавайте данные как параметры через родители
Sheridan
Читаю, думаю. Наверное просто объявлю некую глобальную переменную-dict, в которой всё нужное мне хранить и буду и из всех компонентов с этим работать...
Rem1te
Вы можете это сделать, но это очень плохо
Rem1te
В действительности регистрация сервиса занимает 1 минуту и вы можете шарить с его помощью все данные котоыре Вам нужны
Rem1te
.service('ServiceName')
и инжектим его где надо
Sheridan
.service('ServiceName')
и инжектим его где надо
angular.module('aaa', []).controller('aaa', function() {}).factory('aaa', function($scope) { $scope.myvariable = {}; $scope.get = function() { return $scope.myvariable; } })
Так прокатит?...
Rem1te
оставьте скоуп в покое :)
Sheridan
кстати... три файла. каждый начинается с angular.module('Report', []).
Это один и тот же модуль или три разных?...
Rem1te
const app = angular.module('test');
app.component('componentOne', ['MainService' ,() => {}]);
app.component('componentTwo', ['MainService', () => {}]);
app.service('MainService', function() { this.test = 1});
теперь инжектите сервис в компоненты и выниамете тест
Sheridan
ага... То есть нужно как то инклудить js друг в друга либо просто всё в одном писать...
Sheridan
спасибо! )
Rem1te
Rem1te
без 2-го параметра - получение инстанса
Rem1te
помоему так
Sheridan
Sheridan
Sheridan
Rem1te
Вы зис проебали
Rem1te
success((data) => {this.set_projects(data)})
Rem1te
или байнд
Sheridan
Sheridan
это же так очевидно именно вот так там написать....
Sheridan
Есть огнетушитель у кого?...
Rem1te
у каждого заколенного джс разработчика уже каменный зад и ему огнетушитель не нужен :)
Sheridan
кстати вот такая фабрика... worker будет синглтоном или нужно тоже както извернуться дополнительно?...
Anton
смотрите, у меня есть такой стейт
Sheridan
бот на ангуляре? о0
Anton
и есть вот такой модуль, где инжекты, почему если я прописываю сюда app.telegram-channel, то оно выдает ошибку инжекта
Anton
а если не пишу, то тоже ошибка
Could not resolve ‘app.telegram-channel’ from state ‘арр’
Oleg
ты пытаешься заинжектить стейт в модуль?
Anton
не, ну не стейт, это модуль, просто есть такой же стейт
Anton
@ingverd
Oleg
а ок. ну хз, может у тебя этот модуль не заимпорчен там где инжектить пытаешься или ещё что
Sheridan
Почему init() вызывается, а print() нет?...
Sheridan
при этом ошибок ноль
Oleg
Sasha
А зачем вообще нужен $scope?
Sasha
Ну в смысле можно использовать классы, хуки и прочие удобства
Sheridan
понятия не имею как сюда можно класс приклеить )
Sasha
Sasha
Это как относится к классам и хукам?
Oleg
ну нравится человеку скоуп и переносить открывающие скобки, что тут такого)
Sheridan
Это как относится к классам и хукам?
я хотел сказать что не так часто в ангуляре чтобы знать тонкости. В основном прихожу поправить за другими. И так уже пару лет успешно. Я сейчас вот понадобилось почти с нуля...
Sunny
Мое почтение знатокам Ангуляра
Подскажите, кто имел опыт с похожим, каким образом увеличить время ожидания ответа в Ангуляр Промисах?
Код имеет вид:
return Promise.all(promisesVideoArray).then(newData =>
$http
.post(
${WP.SHOP_API_DOMAIN}api/import/${$shop.$my().id},
{
data: goods
}
)
.catch(err => {
err && $log.warn(err);
})
);
Когда загрузка длится более : минут, промис возвращает net::ERR_EMPTY_RESPONSE
дописывание в конфиг {timeout: 10000000} согласно документации не помогает.
Буду рад любому совету
Rem1te
гугл транслейт поговаривает что net::ERR_EMPTY_RESPONSE не про таймаут
по умолчанию у ангулярджс нету лимита по времени, у нас есть респонсы по 5 и 10 минут грузятся
Rem1te
Поэтому посмотрите сначала респонс который все таки пришел от сервера
Rem1te
а потом посмотрите настройки которые глобально засетаплены для хттп модуля
Rem1te
Но мне кажется что сервер просто разрывает коннекшн
Sunny
config:
$timeout: 10000000
cached: false
data: "data%5B0%5D%5Bcurrency%5D=uah&data%5B0%5D%5Bdescri"
headers: {Accept: "application/json, text/plain, */*", Content-Type: "application/x-www-form-urlencoded"}
jsonpCallbackParam: "callback"
method: "POST"
paramSerializer: ƒ ngParamSerializer(params)
transformRequest: [ƒ]
transformResponse: [ƒ]
url: "http://shop..com:1337/api/import/5c41c86dafc78cf6502a9b77"
withCredentials: true
proto: Object
data: null
headers: ƒ (name)
arguments: (...)
caller: (...)
length: 1
name: ""
prototype: {constructor: ƒ}
proto: ƒ ()
[[FunctionLocation]]: angular.js?4eed:11452
[[Scopes]]: Scopes[5]
status: -1
statusText: ""
xhrStatus: "error"
proto: Object
Sunny
насчет респонса