؜aaaaaaa
Ребят, всем привет
؜aaaaaaa
К кому тут можно за помощью обратиться?
Igor
привет пиши в чем вопрос, тут быстро отвечают как правило
؜aaaaaaa
Я пишу пропс в компонент А data="someData" и в директиве у компонента А scope.data: '=' вывожу data в консоль и выводится '=' как мне поймать момент, когда data будет присвоен пропс, который я передал?
Igor
может я не совсем понимаю но сделайте что бі директива не появлялась пока появиться пропс <directiva data="someData" ng-if="someData"></directiva>
Igor
как будет пропс тогда и отрендиреться директива
؜aaaaaaa
Мне просто нужно в link его поймать
Rem1te
присвоение произойдет после хука $onInit и $postLink
؜aaaaaaa
О, спасибо большое
Rem1te
о собствеенно не перезаписывайте ссылку на обьект
Rem1te
и опишите биндинг для вашего компонента
Давид
Привет всем От куда могу скачать книгу По Ангулар Ng-Book 2 на русском переводе?
Andrii
Всем привет. Нуждаюсь в вашей помощи. В ангуляре я новичек. Счас нету доступа к коду, но постараюсь изложить проблему на словаx. У меня есть масив даних, которий я достаю из БД а одном контроллере, от отображается в html с помощью ng-repeat. При нажатие на етот елемент страница переходит по другому роуту (updateValue). Мне нужно передать значения етого елемента на страницу updateValue для отображения полей в инпуте с помощью двосторонней привязке. Как мне ето сделать? Подскажите пожалуйста)
Andrii
Забыл представиться. Меня зовут Андрей
Andrii
И извиняюсь за ошибки)
Sergey
https://github.com/angular-ui/ui-router/wiki/URL-Routing
Sergey
И по этому ид в resolve роута получить элемент с бэка и уже передать его в контроллер элемента отображения тем или иным образом
Sergey
Можно и прям весь объект передать через роутер, через non url params
Sergey
Но при этом ты при перезагрузке страницы потеряешь переданное
Andrii
Етот объект будет отображаться в строке?
Andrii
Урл
Sergey
Не
Sergey
Через урл просовывается только ид
Sergey
В маршруте ты его получаешь из $stateParams
Sergey
И думаешь что дальше с ним делать
Sergey
Я боюсь по-быстрому у тебя не получится проблему решить, если я правильно её понял
Andrii
А как мне по ид найти кликнутый елемент. У меня на страницы updateValue нет доступа к массиву с которого мне нужно достать елемент
Sergey
Ты должен там где ты кликаешь передать в параметрах маршрута этот ид
Sergey
Тогда он у тебя появится в stateParams целевого маршрута
Sergey
Как у тебя выглядит переход на маршрут редактирования?
Andrii
Точно не помню, как то так. const url=$state.href('updateValue', {item}). А потом переход $window(url, reload)
Sergey
Ух ты какая эм.. штука
Sergey
А у тебя какой роутер?
Sergey
Давай ты до кода когда доберётся мы попробуем что-то придумать)
Andrii
Ок, спасибо
Rem1te
быстрое решение
Andrii
А как ето примерно сделать. Может есть какая то ссишка на пример. Буду благодарен
Rem1te
Тебе весь код привести от момента регистрации сервиса до передачи данных через сервис ?:)
Rem1te
Я думаю нужно все таки доку предварительно почитать :)
Andrii
ну ето нужно много кода менять
Andrii
я думал простое решение есть)
Rem1te
ето просто решение
Rem1te
и не надо много кода поменять
Rem1te
ты просто в переменную кладешь обьект свой
Rem1te
а во втором компоненте или директиве
Rem1te
его вынимаешь
Dima
народ, а где можно почитать о изменениях в версиях angularjs? А то они на гитхабе в релизах ниче не пишут
Dima
у меня 1.6.6 стоит, можно ли и нужно ли обновлять до последней
Maksym
А какая сейчас последняя? :)
Igor
Последняя версия 1.7.5 (4 октября 2018)[2] вики
Sunny
Давай ты до кода когда доберётся мы попробуем что-то придумать)
Мое почтение участникам чата, по этому вопросу мы с Андреем работаем сообща. Вот тот самый кусок кода который касается роутинга. $stateProvider..state("addGoods", { url: "/goods/addGoods", templateUrl: require("../../../views/templates/goods/_addGoodsForm.html"), controller: "addGoodsCtrl", parent: "content", onEnter: [ "$rootScope", "$shop", "$state", function($rootScope, $shop, $state) { $rootScope.sliderToggler = false; if ($shop.$isVisitor()) { $state.go("403"); return false; } } ] })
Sunny
Вопрос касается передачи данных из одного контроллера в другой(уточнение-присутствует перезагрузка страницы)
Sergey
Это какой роутер?
Sergey
Ui?
Sergey
Ну похож вроде
Sunny
Ui?
mainAppRoutingConfig.$inject = [ "$stateProvider", "$urlRouterProvider", "$locationProvider" ]; function mainAppRoutingConfig( $stateProvider, $urlRouterProvider, $locationProvider ) { $urlRouterProvider.otherwise("404");
Sunny
Это верхушка файла
Sergey
Так а в чём именно задача?
Sergey
https://github.com/angular-ui/ui-router/wiki/URL-Routing
Sergey
Через url: "/goods/addGoods/{someId}", можно пробросить в маршрут какой-то ид
Sergey
Потом в маршруте в resolve: { something: ["$stateParams", function(stateParams) { const id = stateParams.someId }] }
Sergey
Получить этот ид из параметров
Sergey
И что-то например по нему загрузить извне
Sergey
Или как @webRMT предлагал, через сервис
Sergey
Хотя по идее так же можно сделать и через нон урл параметры маршрутизатора
Sunny
Так а в чём именно задача?
Нужно передать данные из одного контроллера в другой без потери данных при перезагрузке
Sergey
Тогда либо хранить это где-то в localStorage
Sergey
Либо через ид в маршруте и подгрузку извне
Igor
локалстореж
Sergey
Вы там просто ещё как-то дико переходите на маршрут
Sergey
Почему не $state.go, есть какая-то причина?
Sunny
Почему не $state.go, есть какая-то причина?
Проект написан давно, контакта с предыдущей сменой разработчиков нету:)
Sergey
Проект написан давно, контакта с предыдущей сменой разработчиков нету:)
const url=$state.href('updateValue', {item}). А потом переход $window(url, reload)
Sergey
Ну вот так зачем делать?
Sergey
Если из кода надо перейти, то через $state.go, он и параметры понимает