Size: a a a

Angular - русскоговорящее сообщество

2019 December 04

SK

Sergey Khrolenok in Angular - русскоговорящее сообщество
мне кажется это лишнее
источник

AY

Andrew Yakovlev in Angular - русскоговорящее сообщество
Arthur Bobrovskih
в первом случае свойство HTMLInputElement, во втором атрибут
https://angular.io/guide/template-syntax#html-attribute-vs-dom-property
Так в первом случае получается, условно $0.name я получу забинженый нейм?
источник

Кm

Кирилл mrDoode in Angular - русскоговорящее сообщество
Sergey Khrolenok
мне кажется это лишнее
Что именно?
источник

AB

Arthur Bobrovskih in Angular - русскоговорящее сообщество
Andrew Yakovlev
Так в первом случае получается, условно $0.name я получу забинженый нейм?
да
источник

AY

Andrew Yakovlev in Angular - русскоговорящее сообщество
Arthur Bobrovskih
в первом случае свойство HTMLInputElement, во втором атрибут
https://angular.io/guide/template-syntax#html-attribute-vs-dom-property
Хочу сказать, что в первом случаее свойство нихрена не биндится.
источник

AY

Andrew Yakovlev in Angular - русскоговорящее сообщество
Вот пример. Если через devtool смотреть свойства двух последних радиобатонов, то у них name пустой.
https://stackblitz.com/edit/angular-module-sandbox-pforzq
источник

AB

Arthur Bobrovskih in Angular - русскоговорящее сообщество
Andrew Yakovlev
Вот пример. Если через devtool смотреть свойства двух последних радиобатонов, то у них name пустой.
https://stackblitz.com/edit/angular-module-sandbox-pforzq
кажется что проблема в том что хотите задать одинаковый name для нескольких input
https://stackblitz.com/edit/angular-8sql71?file=src%2Fapp%2Fapp.component.html
источник

AY

Andrew Yakovlev in Angular - русскоговорящее сообщество
для радиокнопок name может быть одинаковым
источник

AB

Arthur Bobrovskih in Angular - русскоговорящее сообщество
Andrew Yakovlev
для радиокнопок name может быть одинаковым
у директивы ngModel есть @Input() name; в данном случае задается он, а не свойство HTMLInputElement, поэтому в devtools не видно атрибута name у элемента
источник

VH

Vitaly Hantarenka in Angular - русскоговорящее сообщество
Кирилл mrDoode
Повторю проблему: у меня с бэка прилетает массив объектов. В объекте есть строчное поле, в нём телефоны через запятую. На фронте мне нужно, чтобы у объекта телефоны были массивами, но при сохранении — чтобы они джойнились в строку
В сервисе, который получает данные с бэка: http.get().pipe(map ( data => data.phones = data.phones.split('разделитель'))), если нужна неизменяемость - пишите по-другому, но суть та же.

При сохранении пишите тоже самое, только в обратную сторону в функции сохранении. Функция отправки не должна преобразовывать данные для ее универсальности.
источник

AY

Andrew Yakovlev in Angular - русскоговорящее сообщество
Arthur Bobrovskih
у директивы ngModel есть @Input() name; в данном случае задается он, а не свойство HTMLInputElement, поэтому в devtools не видно атрибута name у элемента
Вот только об это подумал) Спасибо)
источник

Кm

Кирилл mrDoode in Angular - русскоговорящее сообщество
Vitaly Hantarenka
В сервисе, который получает данные с бэка: http.get().pipe(map ( data => data.phones = data.phones.split('разделитель'))), если нужна неизменяемость - пишите по-другому, но суть та же.

При сохранении пишите тоже самое, только в обратную сторону в функции сохранении. Функция отправки не должна преобразовывать данные для ее универсальности.
Понял, сейчас попробую
источник

SK

Sergey Khrolenok in Angular - русскоговорящее сообщество
класс и модель эта

я вижу класс категория который создает экземпляры путем передачи в него обьекта категории
public constructor(obj: ICategory)
 {
   this.id = obj.id;
   this.title = obj.title;
 }


не уверен что вам эти классы нужны для создания моделей и без них вам не обойтись

достаточно интерфейса для того чтобы была какая-то типизация

var person: IPerson = {
  name: 'john',
  age: 20
}

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

или в момент когда получаете эту модель, добавьте св-во или сделайте wrapper какой, который просто будете использовать в верстке

например вам пришел обьект

{
 firstName: 'John',
 lastName: 'Doe',
 age: 25,
 phones: '1, 2, 3'
}

вы можете переделать его через тот же map, в тоже время сохранив оригинальный обьект (посмотрите термин DTO на досуге)

или в рамках pipe у вас есть возможность строку как массив использовать типа

<div *ngFor="let person of persons">
  {{person.firstName}}
  <div>
      phones:
      <span *ngFor="let phone of person.phones | splitPipe">{{phone}}</span>
  </div>
</div>
источник

Кm

Кирилл mrDoode in Angular - русскоговорящее сообщество
Sergey Khrolenok
класс и модель эта

я вижу класс категория который создает экземпляры путем передачи в него обьекта категории
public constructor(obj: ICategory)
 {
   this.id = obj.id;
   this.title = obj.title;
 }


не уверен что вам эти классы нужны для создания моделей и без них вам не обойтись

достаточно интерфейса для того чтобы была какая-то типизация

var person: IPerson = {
  name: 'john',
  age: 20
}

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

или в момент когда получаете эту модель, добавьте св-во или сделайте wrapper какой, который просто будете использовать в верстке

например вам пришел обьект

{
 firstName: 'John',
 lastName: 'Doe',
 age: 25,
 phones: '1, 2, 3'
}

вы можете переделать его через тот же map, в тоже время сохранив оригинальный обьект (посмотрите термин DTO на досуге)

или в рамках pipe у вас есть возможность строку как массив использовать типа

<div *ngFor="let person of persons">
  {{person.firstName}}
  <div>
      phones:
      <span *ngFor="let phone of person.phones | splitPipe">{{phone}}</span>
  </div>
</div>
Благодарю!
источник

AL

Artem Laschenkov in Angular - русскоговорящее сообщество
Парни то подскажет, у меня есть таймер обратного отсчета на странице, он работает все норм, установлен он на 2 минуты, когда отсчет заканчивается на странице висит просто 00:00 как сделать чтоб по окончанию отсчета он запускался снова?
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Artem Laschenkov
Парни то подскажет, у меня есть таймер обратного отсчета на странице, он работает все норм, установлен он на 2 минуты, когда отсчет заканчивается на странице висит просто 00:00 как сделать чтоб по окончанию отсчета он запускался снова?
как тикает таймер?
interval?
источник

AL

Artem Laschenkov in Angular - русскоговорящее сообщество
Dmitry Teplov
как тикает таймер?
interval?
да
источник

AS

Anton Seramiazhka in Angular - русскоговорящее сообщество
Artem Laschenkov
Парни то подскажет, у меня есть таймер обратного отсчета на странице, он работает все норм, установлен он на 2 минуты, когда отсчет заканчивается на странице висит просто 00:00 как сделать чтоб по окончанию отсчета он запускался снова?
а ты хранишь где-то текущее значение времени?
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Artem Laschenkov
да
он должен вечно тикать с двух минут до нуля и по новой, верно?
источник

AL

Artem Laschenkov in Angular - русскоговорящее сообщество
Dmitry Teplov
он должен вечно тикать с двух минут до нуля и по новой, верно?
да
источник