aaaaaaa
Ребят, всем привет
aaaaaaa
К кому тут можно за помощью обратиться?
Igor
привет
пиши в чем вопрос, тут быстро отвечают как правило
aaaaaaa
Я пишу пропс в компонент А data="someData" и в директиве у компонента А
scope.data: '='
вывожу data в консоль и выводится '='
как мне поймать момент, когда data будет присвоен пропс, который я передал?
Igor
может я не совсем понимаю
но сделайте что бі директива не появлялась пока появиться пропс
<directiva data="someData" ng-if="someData"></directiva>
Igor
как будет пропс тогда и отрендиреться директива
aaaaaaa
Мне просто нужно в link его поймать
Rem1te
Rem1te
присвоение произойдет после хука $onInit и $postLink
aaaaaaa
О, спасибо большое
Rem1te
о собствеенно не перезаписывайте ссылку на обьект
Rem1te
и опишите биндинг для вашего компонента
Давид
Привет всем
От куда могу скачать книгу
По Ангулар Ng-Book 2 на русском переводе?
Andrii
Всем привет. Нуждаюсь в вашей помощи. В ангуляре я новичек. Счас нету доступа к коду, но постараюсь изложить проблему на словаx. У меня есть масив даних, которий я достаю из БД а одном контроллере, от отображается в html с помощью ng-repeat. При нажатие на етот елемент страница переходит по другому роуту (updateValue). Мне нужно передать значения етого елемента на страницу updateValue для отображения полей в инпуте с помощью двосторонней привязке. Как мне ето сделать? Подскажите пожалуйста)
Andrii
Забыл представиться. Меня зовут Андрей
Andrii
И извиняюсь за ошибки)
Sergey
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
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
Хотя по идее так же можно сделать и через нон урл параметры маршрутизатора
Sergey
Тогда либо хранить это где-то в localStorage
Sergey
Либо через ид в маршруте и подгрузку извне
Igor
локалстореж
Sergey
Вы там просто ещё как-то дико переходите на маршрут
🎋🎋🥷 ngSamurai
Sergey
Почему не $state.go, есть какая-то причина?
Dima
Sergey
Ну вот так зачем делать?
Sergey
Если из кода надо перейти, то через $state.go, он и параметры понимает