@angular2Эта группа больше не существует

Страница 110 из 179
Alexander
18.12.2016
13:04:51
очень удобный, и его прелесть в том, что он может быть общим для бэка/фронта/документации (Swagger)

особенно круто, что схему можно передать с бэка прям в API

и она всегда будет актуальной, т.к. ее правила применяются при проверка на бэке и фронте

я только хотел узнать об опыте использовании JSON схема и Ng2 Forms

Google
Alexander
18.12.2016
13:06:47
если он был у кого-то уже

может есть какие-то изящные идеи

или кто-то наталкивался на обсуждение о принятии стандарта связанного с JSON схема в будующих версиях Angular2 (мало-ли, стандарт молодой и динамично развивающийся) и т.п.

может у @Ai_boy есть что сказать? всегда было что-нибудь интересное ?

Alexey
18.12.2016
13:13:21
у меня есть что сказать

мы используем в своих проектах json schema и вполне успешно

Алексей
18.12.2016
13:13:57
Alexey
18.12.2016
13:15:49
сторонних библиотек я не использовал, написал свой компонент form-field, который из json schema динамически строит форму, в template-driven варианте ясное дело, без FormBuilder'ов

довольно удобно получилось

Алексей
18.12.2016
13:17:34
Alexander
18.12.2016
13:18:24
А если как-то сочетать с FormBuilder?

Google
Alexander
18.12.2016
13:20:43
В том то и тонкость, мне кажется, что JsonSchema и FormBuilder во многом выполняют пересекающиеся задачи, но при этом и то и то хорошо себя рекомендуют

В идеале, конечно, хотелось бы некоторый вариант FormBuilder'a со всем его удобством в построении форм, для которого можно было бы указать JSON-Schema для валидации

Alexander
18.12.2016
13:22:54
Вечером скину пример 1
Буду очень признателен ?

Alexey
18.12.2016
13:25:36
не могу ничего посоветовать т.к не вижу ничего удобного в самом использовании FormBuilder'а, мне удобней директивами [(ngModel)] описывать форму

в случае с json schema это выглядит так <div *ngFor="let key of tagType.schema.properties | keys" class="margin-bottom-10"> <form-field class="gray font-size-12" [name]="key" [schema]="tagType.schema.properties[key]" [model]="model.attrs" [form]="tagForm" [required]="tagType.schema.required" [hint]="'tags.hints.' + key | translate" > </form-field> </div>

внутри form-filed [(ngModel)]="model[name]"

Alexander
18.12.2016
13:29:00
на FormBuilder удобен для динамических форм

Alexey
18.12.2016
13:29:20
а это чем не динамическая форма?

Alexander
18.12.2016
13:29:29
да, я вижу

в цикле дело идет...

Alexey
18.12.2016
13:30:13
tagType.schema это JSON Schema

Alexander
18.12.2016
13:30:25
ага, я понял

Alexey
18.12.2016
13:30:26
стандартная

Alexander
18.12.2016
13:30:31
вкуриваю

tagType.schema это JSON Schema
то есть, вы используете JSON Schema не только для валидации, но и для описания полей формы?

Alexey
18.12.2016
13:31:16
да

Alexander
18.12.2016
13:31:28
хорошо

а как быть со сложными схемами, состоящих из множества anyOf, allOf, разными вариантами для required и т.п.?

Alexey
18.12.2016
13:32:25
внутри form-field зашита вся логика по отображению контролов в зависимости от type поля рисуем input/textarea/select/codeEditor и т.д

Google
Alexey
18.12.2016
13:33:48
про required поясни плз , не понял вопрос

Alexander
18.12.2016
13:34:25
про required поясни плз , не понял вопрос
Ну можно сделать сложную логику, где будет нескольк вариантов описания "required"

за счет anyOf, oneOf

Alexey
18.12.2016
13:34:38
например?

Alexander
18.12.2016
13:36:16
там некоторые поля некорректно описаны

но не суть

тут несколько вариантов required

потому что для регистрации нужно чтобы человек указал или email, или телефон

https://spacetelescope.github.io/understanding-json-schema/reference/combining.html#combining

Alexey
18.12.2016
13:38:25
ага, понял

Alexander
18.12.2016
13:38:59
т.е., если не учитывать этой особенности, то да, самое логичное — вывести то что в схеме

Alexey
18.12.2016
13:42:45
мы такое пока не поддерживали, но если понадобится думаю можно будет тоже обойтись директивами и компонентами, объект NgForm у нас есть, мы его сейчас передаем в [form] в каждый form-field, думаю пришлось бы написать еще wrapper компонент <json-schema [form]="myForm">

выглядело бы так: <json-schema [form]="tagForm" [required]="tagType.schema.required"> <div *ngFor="let key of tagType.schema.properties | keys" class="margin-bottom-10"> <form-field class="gray font-size-12" [name]="key" [schema]="tagType.schema.properties[key]" [model]="model.attrs" [form]="tagForm" [required]="tagType.schema.required" [hint]="'tags.hints.' + key | translate" > </form-field> </div> </json-schema>

внутри json-schema можно реализовать кастомную валидацию anyOf, oneOf и т.д. Будет доступ ко всем дочерним form-field и ngModel, будет доступ к объекту NgForm

Vlad
18.12.2016
18:02:40
Всем привет. Подскажите с чего стоит начинать учить angular, если я не знаю английский?
К твоему сожалению, без английского - никак. Пока кто-нибудь переведёт тутуориал на русский, выйдет Angular4 Да и вряд ли кто-то будет таким заниматься. Не уметь прочитать что-то по английски на техническую тему - моветон. Вооружись google translate и Abby lingua

Game
18.12.2016
18:03:51
Спасибо, да, я уже решил выучить его.

Vlad
18.12.2016
18:04:45
Спасибо, да, я уже решил выучить его.
За неделю освоишь основных 200 слов и дальше без проблем пойдёт . Удачи

Game
18.12.2016
18:06:25
Год назад садился учить, в день получалось запоминать по 300 слов. )

Google
Vlad
18.12.2016
18:07:32
Alexander
18.12.2016
18:07:33
К твоему сожалению, без английского - никак. Пока кто-нибудь переведёт тутуориал на русский, выйдет Angular4 Да и вряд ли кто-то будет таким заниматься. Не уметь прочитать что-то по английски на техническую тему - моветон. Вооружись google translate и Abby lingua
Кстати, интересная тема с этими переводами. По моим наблюдениям, до 2010-2011 годов старались перевести все доки на русский. А потом поняли — что это как гнаться за уходящим поездом. Да и уровень вхождения рос.

Тимур
18.12.2016
18:08:12
Всем привет. Подскажите с чего стоит начинать учить angular, если я не знаю английский?
Вот, туториал на русском - http://metanit.com/web/angular2/ Сам его сейчас ковыряю...

Game
18.12.2016
18:08:35
Да, не. У меня сестра учитель английского.

Alexander
18.12.2016
18:08:47
Для PhalconPHP в свое время перевели половину доков (это 3-4 года назад еще было), и с тех пор дальше не двигалось. Видать все поняли что нахрен никому не нужно.

Game
18.12.2016
18:09:59
Я думаю просто финансирование переводов кончилось.

Vlad
18.12.2016
18:10:09
Для PhalconPHP в свое время перевели половину доков (это 3-4 года назад еще было), и с тех пор дальше не двигалось. Видать все поняли что нахрен никому не нужно.
Неблагодарная работа. Трудами воспользуется процентов 15 людей, остальные, в лучшем случае, проигнорируют.

Alexander
18.12.2016
18:10:38
Это опен соурс

Vlad
18.12.2016
18:10:50
Да, не. У меня сестра учитель английского.
Т.е. за 20 дней ты запомнишь 20 * 300 = 6000 слов?

Game
18.12.2016
18:12:11
Я за две недели запомнил почти 2 т. И понимал слова в песнях ac/dc. Потом я бросил.

Vlad
18.12.2016
18:12:31
Для себя я понял: когда смогу большой куш в оригинале и без Сабов глянуть, а трилогию Бартимеуса прочитать без словаря - я крут.

Я за две недели запомнил почти 2 т. И понимал слова в песнях ac/dc. Потом я бросил.
Я не хочу с Вами, сударь, спорить. Пусть будет по Вашему

Alexander
18.12.2016
18:13:06
Я думаю хватит на тему изучения языков ? а то потом полезную инфу не найдешь

Korolll
19.12.2016
06:21:10
ребят, у меня в проекте есть рекурсивная функция (притом максимальное число рекурсий 2!). Angular ругается Maximum call stack size exceeded , как пофиксить

Igor
19.12.2016
06:24:08
это не ангулар, а js ругается, у тебя возможно два вызва твоей функции, но твоя функция видать поражадает длинный стэк вызовов

посмотри по стэку, там же видно в консоли

Korolll
19.12.2016
06:43:20
это не ангулар, а js ругается, у тебя возможно два вызва твоей функции, но твоя функция видать поражадает длинный стэк вызовов
да, спасибо я вас дезимформировал в общем случае 2 рекурсии а в частном 10000, всё улажено

Igor
19.12.2016
06:44:29
?

Google
Dmitry
19.12.2016
07:40:34
кто знает, как сейчас обстоят дела с индексацией поисковиками ajax страниц? или нужно все же делать статику отдельно для них

Fayozjon [CybernatiC]
19.12.2016
08:05:07
Придется для яндекса

Lends
19.12.2016
08:05:59
и гугл советует SSR

Fayozjon [CybernatiC]
19.12.2016
08:07:18
Вообще аякс не для сео

Жопно

Вот если это где то бэк сервис или же приложение не требующее индексации то норм

Lends
19.12.2016
08:18:08
в рабочих документах группы по Angular 2 очень хорошо описано всё про SEO

Anton
19.12.2016
09:41:20
может кто подсказать, что я делаю не так? имеется компонент, который принимает объект, и одно из полей объекта впихивает в свой чайлд-компонент, присваивание проходит нормально, но на странице через augury я вижу, что у чайлда этот атрибут пустой... вот код @Component({ selector: 'dt-filter-multiselect', template: '<p-multiSelect [options]="options"></p-multiSelect>' }) export class DTFilterMultiselect extends DTFilter { @Input() column: Column; @Input() filters: any; public options: SelectItem[]; //= [{'label':'text','value':'1'},{'label':'text','value':'2'},{'label':'PLock','value':'3'}]; ngOnInit(){ if(this.column.filterOptions) { this.options = this.column.filterOptions; } } } причем если убрать ngOnInit и раскомментить присваивание options, то все ок, this.column.filterOptions содержит нужные данные

Alexey
19.12.2016
10:15:39
Эксепшны в консоль валятся какие-нибудь ?

Покажи код комонента p-multiSelect

Anton
19.12.2016
10:19:30
эксепшны валятся только когда идет обращение внутри p-multiSelect к options (так-как undefined), p-multiSelect сторонний, и работает вне dt-filter-multiselect

http://www.primefaces.org/primeng/#/multiselect вот отсюда я его взял

Alexey
19.12.2016
10:21:28
ну так после эксепшна у тебя ничего и не будет дальше работать

надо его пофиксить

сделай public options: SelectItem[] = [];

и потом в ngOnInit() все как ты сейчас делаешь

эксепшн должен исчезнуть и соответственно далее твоя логика заработает

Anton
19.12.2016
10:24:25
эксепшн после инита валится

он валится когда я открываю дропдаун (он пустой), и начинаю вводить что-то в инпат в нем

но по факту он должен быть с элементами

да, если воткнуть пустой массив - эксепшна уже нет, но дропдаун по прежнему пустой

Страница 110 из 179

Эта группа больше не существует Эта группа больше не существует