Stas
такс, тут есть интересная штука
Stas
каким образом ты запрещаешь переходить на какой-то роут?
Stas
у меня есть ui-router и там 3 маршрута
Stas
вот этот кусок
let config = (($stateProvider, $urlRouterProvider, $locationProvider) => {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: '/home/home.view.html',
controller: 'homeCtrl',
controllerAs: 'vm'
})
.state('register', {
url: '/register',
templateUrl: '/auth/register/register.view.html',
controller: 'registerCtrl',
controllerAs: 'vm'
})
.state('login', {
url: '/login',
templateUrl: '/auth/login/login.view.html',
controller: 'loginCtrl',
controllerAs: 'vm'
});
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
});
как сделать "жалкое подобие гварда" для хоум
Sergey
В resolve роута проверка
Sergey
Там запроси свой authService и дергай его за проперти :D
Stas
Я бы подёргал за проперти, только не пойму как туда можно добавить проверку. Пойду в юайроутер гляну, мож я что пропустил.
Sergey
https://github.com/angular-ui/ui-router/wiki
Sergey
См. там resolve
Stas
Хотя не, так не пойдёт. Я хотел еще опробовать при определённом клике в модалке выдавать вход. Спасибо, разговор натолкнул на дальнейшие действия)
Sergey
Stas
Сейчас будет тупой вопрос, слабонервных просьба не читать.
Stas
В общем я делаю редирект на логин, и хочу выдать сообщение там. Сообщение нужно передать тоже из хоум контроллера.
Сделал вот такую штуку в штмл логина
<div ng-controller="homeCtrl as vm" role="alert" class="alert alert-danger">{{ vm.justTest }}</div>
Но если я добавляю ему нг-иф, оно не отображается. Как это обойти?
Stas
без нг-иф выводит, но его нужно показывать только когда кто-то тыкает
Sergey
Сделай в роуте login параметр
Sergey
С текстом сообщения
Sergey
И при переходе делай state.go("login", {message: ololol})
Sergey
В роуте читай $stateParams, если месодж не пустой - показать
Stas
Stas
Гуглил твой способ, не разобрался. Там либо ты объявляешь homeCtrl, либо передаёшь function($stateParams)...
Stas
зато открыл для себя фабрики
Stas
через которые можно передавать данные
Sergey
Тебе сообщение непременно в шаблоне homectrl надо показывать?
Sergey
Есть же toastr для уведомлений
Sergey
Зочем ты в темплейте логина трогаешь вообще homectrl
Sergey
Sergey
Stas
😂
Stas
Давай по порядку, я захожу на хоум страницу, тыкаю что-то, оно мне делает редирект на логин. Там я хочу пользователю сообщить что для тыканья ему нужно войти в акаунт, но я хочу выдавать это сообщение только при редиректе. Если он добровольно зайдёт на страницу входа, этого сообщения не должно быть. То есть по логике я должен это сообщение передавать из хоум контроллера. Иначе я не знаю как проверить был редирект или он сам зашёл на эту стрницу.
Sergey
Ну я бы это дело решил в стейте логина через параметры стейта
Sergey
Можно и через сервис, без разницы
Sergey
Но в параметрах маршрута будет нулл если не задать, а в сервисе тебе самому надо будет занулять после чтения
Sergey
https://github.com/jirikavi/AngularJS-Toaster
Sergey
Возьми что-то типа такого и показывай всё что хочешь
Sergey
Ну если у тебя бутстрап, это я не знаю
Sergey
В гугловом материал тоже свои есть
Sergey
Зачем ты их в шаблон суёшь
Stas
вроде всё вышло
Sergey
Вот когда не надо ты по-своему делаешь, а когда надо так спрашиваешь :D
Stas
Если б вышло с твоим вариантом, я б так и сделал. Но во время поиска обнаружил эти фабрики. Через которые можно сделать передачу параметра) Довольно легко и быстро)
Sergey
Но тебе же его нулить надо
Sergey
Или каждый переход на логин месодж будет
Sergey
Гидэ логика(
Sergey
Хотя если в геттере уничтожать значение
Sergey
То можно
Stas
ну да, нужно его после редиректа обнулять
Sergey
Stas
pa[aad
ребята, я тут в свободное время накидал на rxjs либу для хранения стейста приложения, там есть и фича для angularjs в виде контекста где исполняется всякие действия с котекстом
https://github.com/Insidexa/jstore
Sergey
Прикольно, лайкнул
Sergey
Документации и примеров реального применения бы)
pa[aad
есть в examples
@yarrrrrrrr
Sergey
Да я-то нашёл
Sergey
Но один хрен непонятно как именно оно качество жизни должно менять
Sergey
Я не просто покритиковать, мне правда интересно
pa[aad
я с чего это сделал, мне не подходят всякие redux`o похожие стейт машины
вообще не нравятся их концепции
Sergey
У меня опыта с редаксом и вообще с реактом совсем нет, видимо в этом проблема)
pa[aad
у меня тоже, но опыт у меня доходил до того момента когда они нужны, но они никак не вписываются в концепцию, переусложняют сам процесс хранения, не нравится мне что должен быть 1 стор ( хранилище )
Sergey
В целом всё понятно кроме лока анлока
Sergey
Не, что оно вообще елает?
pa[aad
меня уже радует что все понятно
Sergey
Я в исходники не стал лезть, каюсь
pa[aad
лочит стор, с ним потом нельзя ничего сделать
и кидает exception
Sergey
А зачем оно на второй анлок ругается? Есть какая-то причина так делать?
pa[aad
в этом случаи я скорее всего переборщил, ну типа что бы потом не было приколов, а почему оно не обновляет стор
pa[aad
а так видно
я подумаю возможно хватит какого-то warning
Sergey
Кстати вот инпут аутпут форматеры это кажется то что надо было)) Но смысл реактивщины от меня немного ускользает, ну, вспоминая проект на нг1. То есть я не очень понимаю как бы так извлечь пользу от того что данные у меня выглядят как поток. Надо пробовать, что тут думать. В любом случае - спасибо)
pa[aad
Sergey
Не, я больше думал за всякие преобразования дто - модель, если там такое вообще можно. Пока пользовался трансформаторами в http.
Андрей
есть аналогичный плагин для angularjs https://vue-multiselect.js.org/ ?
pa[aad
Bako
Привет всем
Bako
Кто может ответить на быстрый вопросы по angular?
pa[aad
http://neprivet.ru/
сразу б и задал
Владислав
Привет всем! Работал кто с chartjs ? я хотел бы задать вопрос, при больших объемах данных тултип вылезает за канвас, кто как решал проблему ? http://joxi.ru/8AnEKxVCj1Kgl2
Владислав
Пока конечно решил проблему отфильтровав нулевые значения но это так себе варик
kdm🇩🇰
попробуй сделать скролл в канвасе
Владислав
Не работает