@angular_js

Страница 314 из 325
Uladzislau
04.09.2018
14:05:49
Попробую, спасибо ?

Remite
04.09.2018
14:07:36
Попробую, спасибо ?
Не забудьте отписатся о результатах, ато спать не буду :)

Uladzislau
04.09.2018
14:08:01
Обязательно)

AluV
04.09.2018
16:25:51
Как мне в контроллере установть кастомную ошибку: $scope.ctrl.form.fservice.$setValidity("exists", !!services); Если на момент выполнения form не существует ? Наверное только watcher устанавливать и писать свой сервис.

Google
Sergey
04.09.2018
17:07:15
А почему её не существует? Это не контроллер этой формы? Или она под ng-if? А просто добавить в валидаторе if(....form) {.... нельзя?

AluV
04.09.2018
17:15:37
Вообщем angularjs и валидация несовместимые вещи, разве что писать свои директивы валидации и регистрировать по всему приложению. Я написал вот такую функцию: https://pastebin.com/8C33D2QD А ng-messages не могут нормально отрисовать ничего, это типо пока не открыл - не закрыл dropdown, required не отрисуется. А когда ты косаешься контролла он очищает $error и после цикла валидаторов заново все назначает и моя ошибка пропадает.

Sergey
04.09.2018
17:44:19
Вы что-то страшное делаете

Валидаторы бегут каждый дайджест

И директива валидации - почему нет? Если это и есть способ встраиваться в пайплайн валидации

Remite
04.09.2018
17:51:41
angularjs и форма с валидацией это самое сильное оружие в нгджс. а уж если у Вас что-то не едет, то виновата не библиотека

как то так

Sergey
04.09.2018
18:17:16
Хотя, валидация без ng-model это полная хрень получается

Я делал для блока чекбоксов упакованных в компонент

Ну такое

Ramazan
05.09.2018
03:01:07
всем привет

подскажите нормально ли пользоваться фабрикой и хранить там объект, который будет меняться при подгрузке разных view, после чего контролеры view при http.get будут передавать этот объект на сервер

Google
Ramazan
05.09.2018
07:26:37
app.config($routeProvider,routeServices){ var promiseObj = routeServices.getRoutes(); promiseObj.then(setRoutes(value)); function setRoutes(routes){ routes.forEach(function(route){ $routeProvider.when(route.path,routeproperties) }) } } app.config('routeServices',function($http,$q)){ return{ getRoutes : function(){ var deferred = $q.defer(); } } }

а так можно делать?

Sergey
05.09.2018
07:48:26
А если вам скажут нет, что будет?)

AluV
05.09.2018
08:02:07
angularjs и форма с валидацией это самое сильное оружие в нгджс. а уж если у Вас что-то не едет, то виновата не библиотека
это безногое и безрукое оружие без патронов. Чекай как в Laravel валидация сделана

Sergey
05.09.2018
08:08:18
AluV
05.09.2018
08:09:39
Какая разница, я про то, как это работает. Удобные методы, добавление своей валидации проверка на определенные правила. Гибкость 100%, где гибкость в ангуляре ?

Sergey
05.09.2018
08:11:23
Ну вы какого-то кадавра построили, а он не работает

Andrey
05.09.2018
08:11:51
реально валидация в 1 ангуляре желает быть лучшим намного

Sergey
05.09.2018
08:12:01
нг1 он весь на директивах, можно конечно плыть против течения, но толку

реально валидация в 1 ангуляре желает быть лучшим намного
Ну единственно что она прибита гвоздями к ngmodel, а так... ну хз

AluV
05.09.2018
08:15:00
Вот это уже на что то человеческое похоже, правда не ангуляр: https://github.com/monterail/vuelidate

Remite
05.09.2018
08:18:55
это безногое и безрукое оружие без патронов. Чекай как в Laravel валидация сделана
щас бы отета бек енд и фронт енд сравнивать, Вы мне ещё раскажите как в бек енде состояние хранится и данные сторятся, а на фронте чота не так

AluV
05.09.2018
08:22:19
Я ниже привел пример для фронта, нет никакой разницы. PHP интерпретируется и код в нем лимитирован по жизненому циклу и Js тоже. Я могу так же сравнивать Java и TypeScript. У них свои задачи, архитектуру можно строить аналогичным способом.

Модели, сервисы, MVC, все тоже самое. Если что то реализовано по разному это конкретная реализация фреймворка. В JavaSpring я не нашел нормальных человеческих миграций, но это не значит что их нельзя сделать на Java или они будут выглядить по другому чем на других языках. мы все равно используем абстракции языка. Я и говорил про абстракцию.

Remite
05.09.2018
08:26:24
у ПХП - жизненный цикл вызвал - отработал - умер У джс - запустился - реагирую на пользователя. Конечно в таком случае контролировать потоки данных становится сложнее поскольку поведение пользователя зачастую не предсказуемое Далее, Вы можете описать сервис для валидации данных, который Вам вернет обьект ошибок с ключами и раставить их везде, в этом нет ничего сложного, повторюсь ещё раз, если вы что-то сделали и у вас оно не едет, но едет у миллионов других разработчиков, то дело не в технологии

AluV
05.09.2018
08:27:33
»>У джс - запустился - реагирую на пользователя. Окей, Js => Как работают контекст. Как он работает в браузере.

Remite
05.09.2018
08:27:33
Вы начали сравнивать два фреймворка которые заточены под совершенно разное. Один под фронт второй под бек, у них совершенно разная логика поведения, структура, и их функции

AluV
05.09.2018
08:28:12
Логика поведения может быть разная, API для разработчика одинаковый

Google
Remite
05.09.2018
08:28:17
Вот если бы вы взяли реакт и сказали - Вот в реакте лучше потому и потому, спор был бы аргументирован

Sergey
05.09.2018
08:28:17
@Alu_V вы может изначальную задачу расскажете? Может у нас тоже пригорит

Remite
05.09.2018
08:28:59
Логика поведения может быть разная, API для разработчика одинаковый
как бы вам объяснить... Вот есть профессия дворы подметать А есть профессия дома строить Вот вроде и тот человек и тот работает, а делает совершенно разное

Sergey
05.09.2018
08:29:10
Remite
05.09.2018
08:30:07
ну да, там не такое, а в ангуляре 2+ там вообще с этим все хорошо :)

Увы и ах :(

AluV
05.09.2018
08:31:25
Я не могу про валидацию ReactJs сказать ничего хорошего, там просто все проще,поэтому делашь как хочешь

Remite
05.09.2018
08:34:19
Ну не знаю, как по мне реакт + валидация + формы = боль и страдания

AluV
05.09.2018
08:38:44
Ну там есть разные расширения типа react-validation и другие очень похожие. Этим вполне можно пользоваться

Ramazan
05.09.2018
08:45:38
А если вам скажут нет, что будет?)
тогда нужно будет думать как сделать по другому

Sergey
05.09.2018
08:46:24
Ну просто я не понимаю что именно вас в том коде беспокоит

Ramazan
05.09.2018
08:47:35
ну у меня сервис зависит от модуля а модуль от сервиса

и ругается на инджект

Sergey
05.09.2018
08:47:46
Зачем он такой нужен я тоже не особо понимаю, но я не работал со встроенным роутером

Ramazan
05.09.2018
08:47:48
я не пойму что ему не нравиться

Sergey
05.09.2018
08:51:53
ну а как с partial view ангуляре работать?
https://jakeydocs.readthedocs.io/en/latest/mvc/views/partial.html вот эти partial view? Вы хотите аналог?

Ramazan
05.09.2018
08:53:11
почти

у меня тоже .net mvc

только тут в примере статические, а уменя динамические

Google
Sergey
05.09.2018
08:55:18
Ну я с мвц не работал, идею понимаю только примерно

В доке это просто вставка произвольного кода в произвольное место

В нг1 строительные блоки - директивы и компоненты

Я так и не понял что вы пытаетесь достичь)

AluV
05.09.2018
09:07:06
Ну я с мвц не работал, идею понимаю только примерно
странно, потому что в angular 1 MVC Да и в большинстве всех фреймворков, ты юзаешь это неосознанно

Sergey
05.09.2018
09:07:19
C asp mvc

У меня asp core webapi

AluV
05.09.2018
09:08:08
С этим не работал, обошел осознанно стороной

Sergey
05.09.2018
09:08:18
И клиент на нг1, древний как я не знаю что

AluV
05.09.2018
09:13:42
Я на ангуляре могу написать свой валидатор для кастомной директивы ? require: 'selectorAll', Что то подобное, потому что сейчас директива валидации вобще не линкуется

Sergey
05.09.2018
09:24:06
У директивы есть ng-model?

Igor
05.09.2018
09:45:22
всем привет) как закрыть модальное окно $mdDialog после нажатия на конопку которая выполняет переход по ng-href . сейчас прикрутил к этой кнопке ng-click="cancel()" но она закрывает окно при любом раскладе, даже если кнопка ng-disabled = false. а надо чтоб пока она не ng-disabled = true то событие Cancel не работало

код кнопки <md-button md-no-ink class="md-raised md-primary" ng-click="vm.cancel()" ng-href={{vm.SendEmail()}} ng-disabled="editEmailForm.$invalid" id="sendButton" form="editEmailForm-form">send</md-button>

Sergey
05.09.2018
09:48:19
А зачем так делать?

mddialog возвращает промис, оттуда и переходите по then

Igor
05.09.2018
09:48:53
откуда он его возвращает?

и в какой момент

Sergey
05.09.2018
09:49:05
От show

Igor
05.09.2018
09:52:13
про промисы знаю что это ответ сервера типа асинхронной таски. а где тут он принимается или возвращается? есть туториал?

или хотя бы направление куда копать

Google
Sergey
05.09.2018
09:54:25
Remite
05.09.2018
09:56:41
про промисы знаю что это ответ сервера типа асинхронной таски. а где тут он принимается или возвращается? есть туториал?
промис это не ответ от сервера, это буквально обещание что после определенного действия что-то произойдет, не синхронно а в принципе, когда не будь

AluV
05.09.2018
10:00:22
У директивы есть ng-model?
Нету, ответ: невозможно. Вот он и ангулярJs, сейчас попробую просто через классы сделать свой div с ошибкой.

Andrey
05.09.2018
10:02:02
Вообще можно валмдировать только модель и нн привязываться к ng model и стандартной валидации

class-validation на ts через декораторы

Sergey
05.09.2018
10:03:44
Там нифига не произвольные данные валидируют

Igor
05.09.2018
10:18:40
mddialog возвращает промис, оттуда и переходите по then
есть у меня директива в которой я и вызываю диалог $scope.showSendDialog = function () { $mdDialog.show({ clickOutsideToClose: false, templateUrl: "app/directives/sendEmail/sendEmailTemplate.html", controller: "sendEmailController", controllerAs: "vm", locals: { model: _.cloneDeep($scope.model) } }).then(function (result) { $scope.model = result; }); и как тут сказать чтоб после срабатывания события ng-disabled="editEmailForm.$valid" работала ng-click="vm.cancel()" или проще говоря, как сделать чтоб окно закрывалось после нажатия на активную кнопку

Sergey
05.09.2018
10:29:23
В контроллер диалога инжектится инстанс $mdDialog

Вызывайте $mdDialog.hide(okResult) чтобы промис резолвнулся с резульатом

Или $mdDialog.cancel() чтобы промис реджектнулся

Igor
05.09.2018
11:10:54
куда бы я не поставил это $mdDialog.cancel(); у меня везде он срабатывает и окно только открывается и сразу закрывается

Sergey
05.09.2018
11:14:09
А почему же он срабатывает?

Может быть его кто-то вызывает?

Igor
05.09.2018
11:15:41
это наводящий вопрос? потому что как я посмотрел по деьагу, что браузер по всему коду раз несколько пробегает, вот он его и вызывает

Sergey
05.09.2018
11:16:23
Ну он сам не вызывается, у меня не вызывается

Каким образом он у вас сам собой вызывается, почему?

Igor
05.09.2018
11:18:18
если кинуть его прям в тело контроллера, то вызывается, если кинуть его в функцию SendEmail то вызывается потому что у меня она привязана к кнопке

последнее вообще звучит как не аргумент

Sergey
05.09.2018
11:20:56
Вы что-то не то делаете

Страница 314 из 325