Anonymous
тогда гет надо вызывать в открытой вкладке
тоже вариант, создать страничку транзитную
Nikolai
открыть именованное окно, выполнить гет на паренте, записать html в открытом
Anonymous
может я упрощу задачу
Nikolai
открыть окно после промиса не даст браузер
Anonymous
мне вообще файл с этой инфой сохранить надо
Anonymous
я хотел чтоб пользователсь сам его сохранение подтверждал
Rem1te
мне вообще файл с этой инфой сохранить надо
тогда пускай вам сервер вернет положенный контент тайп
Anonymous
но возможно мысль так себе, да
Nikolai
получи аяксом и сделать эмуляцию загрузки
Anonymous
а если попробовать файл сгенерировать?
Nikolai
var filename = $scope.filename+'.json'; if (typeof data === 'object') { data = JSON.stringify(data, undefined, 2); } var blob = new Blob([data], {type: 'text/json'}); if (window.navigator && window.navigator.msSaveOrOpenBlob) { window.navigator.msSaveOrOpenBlob(blob, filename); } else{ var e = document.createEvent('MouseEvents'), a = document.createElement('a'); a.download = filename; a.href = window.URL.createObjectURL(blob); a.dataset.downloadurl = ['text/json', a.download, a.href].join(':'); e.initEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); a.dispatchEvent(e); }
Nikolai
надо в этом направлении копать
Anonymous
жесть какая-то
Anonymous
я лучше бэк копну тогда)
Nikolai
делать блоб и вперед
Ilya 🃏
Народ, можете подсказать, как по одному линку сделать два разных шаблона и контроллера в роутинге?
Ilya 🃏
Допустим в зависимости от того, что прислал в ответ сервер (вроде типа поста: видео\текст\тест) я должен выводить три разных шаблона с разным js и темплейтом
Bogdan
Народ, можете подсказать, как по одному линку сделать два разных шаблона и контроллера в роутинге?
раздели на отдельные компоненты и отображай информацию как тебе нужно в каждом отдельно, не городи костыли
Ilya 🃏
Что ты имеешь ввиду под отдельными компонентами?
Bogdan
Что ты имеешь ввиду под отдельными компонентами?
angular.component на каждый тип отображаемой информации
Bogdan
Что ты имеешь ввиду под отдельными компонентами?
типа, VideoPost, PhotoPost, AudioPost и так далее
Ilya 🃏
Понял, сейчас попробую разобраться, спасибо)
Bogdan
и потом можно использовать ng-switch в шаблоне для выбора нужного компонента
Bogdan
но я не уверен над счет производительности такого решения, если что меня поправят надеюсь
Алексей
У меня тут коллеги спрашивают про курсы/литературу по e2e тестированию Angular 1.x кроме доки protractor+jasmine+webdriver. Я когда автоматизировал учился на практике, поэтому подсказать не могу, возможно у кого-то есть чего-нибудь или линки.
Иван
Ничего толкового нет.
Ilya 🃏
Можете подсказать, почему нельзя повесить атрибут на анлуряровский $element, если засунуть его в событие onload у элемента img? Если быть точнее, то все это лежит внутри директивы и работает нормально, но когда директива перекрывается любым скоупом (например повесить над директивой ng-if), то $element.attr просто перестает работать. Вот кусок кода: https://github.com/dslpp056193/angular-src-retina/blob/master/angular-src-retina.js#L32-L36
Ilya 🃏
Может есть какой-нибудь $scope.$apply() только для элемента? 😄
Ilya 🃏
@bednij_bohdan, можешь что-нибудь подсказать, пожалуйста?)
Bogdan
@bednij_bohdan, можешь что-нибудь подсказать, пожалуйста?)
контекст у тебя там не подменяется в function что ты вешаешь на onload?)
Ilya 🃏
Так подменяется, на сам элемент Image В результате this.width\height - ширина и высота загруженной картинки
Ilya 🃏
И ведь все работает, но ровно до того момента, как появляется скоуп
Bogdan
Так подменяется, на сам элемент Image В результате this.width\height - ширина и высота загруженной картинки
https://stackoverflow.com/questions/17884399/image-loaded-event-in-for-ng-src-in-angularjs а чего не так обработчики вешать?
Ilya 🃏
Так элемент-то создан в JS, его на странице еще нет)
Ilya 🃏
Чтобы узнать его ширину\высоту и существует ли он
Ilya 🃏
Он создается на 30 строчке https://github.com/dslpp056193/angular-src-retina/blob/master/angular-src-retina.js#L30
Bogdan
Чтобы узнать его ширину\высоту и существует ли он
ну фиг знает, я директивы не очень писал( https://stackoverflow.com/questions/33594886/angularjs-attribute-in-directive-is-undefined Может как то поможет
Bogdan
Вообще я бы рыл в сторону какого фига attrs может быть undefined
Bogdan
и перебирал варианты с SO
Amirkaaa
Ребята кто знает, есть ли такой сервис документирования RestfulAPI (типа Postaman), Где доступ можно давать только на определенный url ? Должен быть функционал работы в команде. Платный или бесплатный сервис без разницы.
Maxim
Всем привет! Такой вопрос. У меня есть json, шлю с сервера key2: val2, key1: val1 Но хром эти ключи сортирует по алфавиту. На фронте никак не избежать этой принудительной сортировки?
Rem1te
Посмотрите как эти данные приходят к Вам с бека во вкладке network
Rem1te
я не думаю что это делает хром
kdm🇩🇰
можешь в массив завернуть и сделать как тебе удобнее
Maxim
Кароче да, не в хроме дело. а js сам сортирует объекты по ключам.
Maxim
Сделал массивом. все круто) Спасибо!)
Maksym
приветствую, почему я не могу обратиться к элементу вот таким способом $scope.channel.canvas_color получаю ошибку TypeError: Cannot read property а если в таком контексте $scope.saveChannel = function() { $scope.channel.canvas_color то работает
Maksym
нужно сделать two way binding на эту переменную
Nikolai
$scope.channel && $scope.channel.canvas_color
Maksym
что-то не понял, даже если обратиться к $scope.channel получаю undefined, а если просмотреть $scope то channel находиться в объекте
Nikolai
посмотри в паренте, например
krn
на момент вызова функции channel не определен определяется он после я хз где ты там смотришь свой скоуп, но на всякий случай напомню, что объект в хроме легко может меняцца. и это не отловить. юзай лодашевский clone или cloneDeep чтобы увидеть, каков объект на самом деле в момент вызова функции
krn
а точн.
Maksym
вот что выводится в $scope
Maksym
channelApiService.setChannelId($stateParams.channelId); channelApiService.channelGetOne(function(data) { console.error('channel:', data.response); $scope.channel = data.response;
Maksym
вот здесь в ответе присваиваем
Nikolai
гонка
Nikolai
сделай, например, в контролёре $scope.channel = {};
Maksym
не помогло, выходит в $scope нельзя обращаться, а тем более управлять вложенными объектами, если юзать минуя промежуточный асоциативный массив, то двухсторонний байндинг работает на ура или же управляется не так как обычно
Евгений
ребят, не получается подружить фабрику с контроллером, ангуляр 1.6.х
Евгений
есть у кого возможность подсказать, в чем ошибаюсь?
Bogdan
ребят, не получается подружить фабрику с контроллером, ангуляр 1.6.х
да блин ну почему бы код сразу не скинуть сюда, а?
Евгений
объясню: дело в том, что припилен роутинг, и в связи с этим есть темплейты, которые разбивают хтмл на разные части, в которых можно потеряться
Евгений
https://jsfiddle.net/gfzypsmc/
Евгений
проблема была в том, что из основного хтмла не мог передать в темплейт модели, от чего пришлось вводить фабрику
Евгений
постарался её ввести и поменять логику - до этого все работало нормально, но с вводом фабрики стала выпадать ошибка [$injector:unpr]
Евгений
делал по гайду всё, но с чем может быть связано не имею малейшего представления
Nikolai
это не будет работать
Nikolai
mainFactory.tasks.push даст ошибку
Nikolai
а скорее всего и ещё раньше
Nikolai
app даже не объявлен
Евгений
хорошо, я откатился до момента, когда фабрики еще не было
Nikolai
это хорошо
Евгений
какие есть варианты передачи данных модели контроллеру в темплейт?
Евгений
это все что мне сейчас необходимо