Нам нужно гнетать угловые сигналы внутри другого сигнала для объектов и массивов?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Нам нужно гнетать угловые сигналы внутри другого сигнала для объектов и массивов?

Сообщение Anonymous »

Я сделал набор интерфейсов, которые описывают данные JSON. Затем я использовал классы для составления тех же данных, но в качестве угловых сигналов: < /p>

Код: Выделить всё

// TToSignal.ts
import { WritableSignal } from '@angular/core';

export type TToSignal = {
[k in keyof T]: WritableSignal;
};
< /code>
// CDataItem.ts
import { IDataItem } from '../interfaces';
import { TToSignal } from '../types';

export class CDataItem implements TToSignal {
prop1: signal('');
prop2: signal(0);

constructor(init: Partial) {
if (!init) return;

if (init.prop1) this.prop1.set(init.prop1);
if (init.prop2) this.prop2.set(init.prop2);
}
}
< /code>
// CDataProfile.ts
import { IDataProfile } from '../interfaces';
import { TToSignal } from '../types';

export class CDataProfile implements TToSignal {
prop1: signal('');
prop2: signal(0);

constructor(init: Partial) {
if (!init) return;

if (init.prop1) this.prop1.set(init.prop1);
if (init.prop2) this.prop2.set(init.prop2);
}
}
< /code>
// CData.ts
import { CDataProfile, CDataItem } from '../classes';
import { IData } from '../interfaces';
import { TField, TToSignal } from '../types';

export class CData implements TToSignal {
name: signal('');
items: signal([]);
profile: signal(new CDataProfile());

constructor(init: Partial) {
if (!init) return;

if (init.name) this.name.set(init.name);
if (init.items) this.items.set(init.items);
if (init.profile) this.profile.set(init.profile);
}
}
Данные более сложны, чем этот пример, и мне интересно: какие лучшие практики или как я могу подходить к профилированию данных с помощью сигналов, учитывая использование его внутри форм, взаимодействовать с ним?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... and-arrays
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»