
Alexey
15.11.2016
08:37:05

Ivan
15.11.2016
08:37:46

? Node
15.11.2016
08:38:49

Пронин
15.11.2016
08:41:01

Google

Nikita
15.11.2016
08:41:28
а в ангуляре да, не нужно :)
Сообщение сразу не ушло ) там же речь шла что писать надо всегда и везде без jquery. и без контекста про ангуляр

Виталий
15.11.2016
09:09:52
Подскажите как затормозить старт ангуляра, пока другой скрипт скрипт выполняется? В хроме почему-то сначала этот скрипт выполняется, а потом ангуляр, а в фф наоборот.

Евгений
15.11.2016
09:11:11
что за скрипт?

Виталий
15.11.2016
09:11:58
кендошаблоны там подгружаются
export function main() {
return platformBrowserDynamic().bootstrapModule(AppModule);
}
export function timeout() {
setTimeout(main,100);
}
if (document.readyState === "complete") {
main();
} else {
document.addEventListener("DOMContentLoaded", timeout);
}
Вот так вроде бы получилось, эх когда мы уже этот кендо выпилим к чертям(


Ramil
15.11.2016
09:40:35
Кто подскажет best practice как правильно рендерить хтмл, если данные еще не пришли?
есть компонент с таким кодом:
user: any;
constructor(private userService: UserService) {}
getUser(): void {
this.userService
.getUser()
.then(user => this.user = user);
}
ngOnInit(): void {
this.getUser();
}
В хтмл пишу вот так:
<h2>Login: {{user.login}}</h2>
Естественно начинает ругаться, нет свойства login у undefined
знаю, что это дело можно исправить добавив *ngIf="user"
Это единственно верное решение или есть что-то еще?
метод getUser реализован вот так:
getUser(): Promise<any> {
return this.authHttp.get(this.apiUrl + '/profile') .toPromise() .then(response => response.json().user)
}

Google

Alex
15.11.2016
09:45:32
в нг2 есть резолверы?

Тарас
15.11.2016
09:46:43
можно писать вот так {{user?.login}}, но мне кажется этот вариант еще хуже *ngIf="user"

Ramil
15.11.2016
09:51:14
таки есть у роутеров например
https://angular.io/docs/ts/latest/guide/router.html#!#resolve-guard
в нг2 есть резолверы?

Виталий
15.11.2016
10:01:49
Резолв гарды какие-то непонятные... Что-то они у меня не взлетели

Ivan
15.11.2016
10:08:18
<h2 [innerText]="user.login">
Так не должно ругаться
Хотя хз

Ramil
15.11.2016
10:12:00
спасибо всем за советы

Виталий
15.11.2016
10:49:32
stackoverflow у всех криво отображается?

Ramil
15.11.2016
10:50:24
у меня норм на PC

Alexey
15.11.2016
11:05:16
any кстати лучше не использовать
сделай interface или класс для User иначе смысл в typescript теряется

Nikita
15.11.2016
11:08:25
вот еслиб была типизация в рантайме тогда ещё есть плюсы от ts а так неособо

Alexey
15.11.2016
11:18:36
что значит типизация в рантайме?
зачем?

Ramil
15.11.2016
11:21:05
да, тоже думал так сделать. В нем ведь, по сути, необходимо объявить все поля, которые, в моем случае, указаны в модели на бэкенде(нода + монго(?
сделай interface или класс для User иначе смысл в typescript теряется

Google

Igor
15.11.2016
11:21:34
не писать руками type guards

Alexey
15.11.2016
11:22:30

Igor
15.11.2016
11:22:33
их щас генерят из каких-то мета данных которые можно ключом компилятора TS попросить не вырезать из кода
но это все грязные хаки

Alexey
15.11.2016
11:32:14
а как рантайм должен помочь вам с type guards? type guards вы используете чтобы узнать в каком участке кода у вас переменнеая того или иного типа
если тип generic
или я не понял что вы имеете в виду

Mikhail
15.11.2016
12:00:06
можно писать вот так {{user?.login}}, но мне кажется этот вариант еще хуже *ngIf="user"
зависит от того, что ты хочешь сделать в UI
я встречал всевозможные варианты, начиная от того, что вместо блока показывается залипуха и заканчивая тем, что вместо каждого из полей или группы полей показывается дефолтный текст
говорить, что одно или другое плохо - это просто нелепо, все упирается в конкретную задачу, которую дизайнер ставит перед разработчиком
поэтому так много вариантов и поэтому все они правильные

Ramil
15.11.2016
12:01:45
Спасибо, Михаил!

Igor
15.11.2016
12:02:45
или я не понял что вы имеете в виду
я наверное неправильно использую это словосочетания
я про то что указыаешь типы аргументов а потом в ручную в начале функции проверяешь на эти типы

Алексей
15.11.2016
12:03:43

Alexey
15.11.2016
12:03:51
чтобы не писать специальные type guards ?

Алексей
15.11.2016
12:04:23
Assert.isString(a) - для этого куча отдельных библиотек

Igor
15.11.2016
12:04:54
User-Defined Type Guards в доках

Alexey
15.11.2016
12:04:57
а typescript это поймет как guard?
ну, я их и имел в виду
чего вы хотите добиться то? чтобы не приходилось их писать?

Vladimir
15.11.2016
12:06:04
У меня вопрос. Вы настолько не доверяете серверу?

Alexey
15.11.2016
12:06:05
или что?

Google

Igor
15.11.2016
12:06:28
конечно) зачем дважды писать

Alexey
15.11.2016
12:08:37
а почему дважды?

Igor
15.11.2016
12:10:36
ну я уже указал тип зачем еще писать хелпер для проверки
вот что я хочу из коробки и без хаков https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Decorators.md#metadata

Alexey
15.11.2016
12:12:46
понял, видимо у вас кейс специфический
мне пока не встречался такой
т.е я понимаю например что это необходимо чтобы реализовать DI в ng2 как это сейчас сделано когда инжектор по типу определяет что нужно

Igor
15.11.2016
12:14:05
внутри своего кода все норм обычно это данные снаружи надо проверять и проверки утомительно писать

Alexey
15.11.2016
12:14:06
но на практике мне такое пока не приходилось реализовывать

noir
15.11.2016
13:07:25
пришел инвайт на митап

? Node
15.11.2016
13:27:38
Да. и у меня вопрос. Что должно происходить когда идёшь по ссылке для получения пропуска?

Lends
15.11.2016
13:34:35
это Тинькофф... там магия и несравненный UX

Nikita
15.11.2016
13:35:03
кто что думает по поводу использования пайпа в компоненте?

Eugene
15.11.2016
13:35:46
Есть абстрактный класс, в котором указаны инпуты и аутпуты, которые повторяются в 7 компонентах
Забава в том, что на другом проекте все норм заводится
однако там систем джс
а у меня вебпаком собирается
является ли это причиной?

Ivan
15.11.2016
14:37:41
Не исключено, что у тебя компонет DaySelector не задекларирован/импортирован в модуле, к которому он относится.
Это как наиболе вероятная из причин.

Google

Ivan
15.11.2016
14:38:35
Парсер тег <day-selector> может понять, вот и ругается.
не может*

Eugene
15.11.2016
14:51:39
та не тег понимает
не может понять свойства декорируемые

Mikhail
15.11.2016
15:18:17
Новый выпуск примерно на половину посвящен Angular 2, приятного прослушивания :)
https://radiojs.ru/2016/11/radiojs-42/

Sergey
15.11.2016
16:05:38

Vitaliy
15.11.2016
17:03:38
по митапу вопрос: видео куда будите выкладывать? (не успел зарегистрироваться) может канал на ютубе есть?

Алексей
15.11.2016
17:04:32

Vitaliy
15.11.2016
17:05:01
да-можно просто сразу создать, подписаться и спокойно ждать чтоб не искать потом ссылку

Алексей
15.11.2016
17:05:46

Vitaliy
15.11.2016
17:05:57

? Node
15.11.2016
17:17:25
Подумал канал в телеграмме. ?

Алексей
15.11.2016
17:21:10

Vitaliy
15.11.2016
17:32:20
Эта группа больше не существует