Size: a a a

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

2021 March 27

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Андрей Фастовский
можно сделать компонент таблицы и передавать в модалку этот компонент.
Но я бы прежде всего подумал над резонностью использовать таблицу в модалке=)
Ну не я придумываю что нужно)
источник

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
плохой дизайн не только заслуга дизайнера)
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Андрей Фастовский
плохой дизайн не только заслуга дизайнера)
Мое дело сделать) и получить опыт в дальнейшем который будет все лучше и лучше
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Кто подскажет как передать данные таблице которую уже передаю как данные в Inject?
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
openModal() {
   this.dialog.open(DialogComponent, { data: TableComponent });
}

тут я передаю компонент и мне нужно забайндить данные в TableComponent
источник

M

Maksym Rabodzey in Angular - русскоговорящее сообщество
в data передаешь инфо, в компоненте в котором инджектиш в конструкторе пропиши
@Inject(MAT_DIALOG_DATA) public data: DialogData
источник

B

Bretbas in Angular - русскоговорящее сообщество
Народ, подскажите пожалуйста.
У меня lazy-load загрузка модулей по маршуртам:
      { path: ``, pathMatch: "full", redirectTo: `banks` },
     { path: `banks`, loadChildren: () => import('@banks/banks.module').then(x => x.BanksModule) },
     { path: `currencies`, loadChildren: () => import('@currencies/currencies.module').then(x => x.CurrenciesModule) },
     { path: `expenses`, loadChildren: () => import('@expenses/expenses.module').then(x => x.ExpensesModule) },
     { path: `organizations`, loadChildren: () => import('@organizations/organizations.module').then(x => x.OrganizationsModule) },
     { path: `contractors`, loadChildren: () => import('@contractors/contractors.module').then(x => x.ContractorsModule) }


В OrganizationModule рега
ются два сервиса:
 providers: [
   OrganizationStore,
   OrganizationFacade
 ]


OrganizationStore и OrganizationFacade не рутовые, тоесть вот так объявлены:
@Injectable()

Проблема в том, что почему то эти два сервиса работают как синглтоны на все приложение, но только после захода на маршрут /organizations. Тоесть конструктор срабатывает один раз и все, они живут все app lifetime.

А я предполагал, что они будут синглтоны в модуле OrganizationModule. МНе нужно такое поведение.

Подскажите, как сделать?
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Maksym Rabodzey
в data передаешь инфо, в компоненте в котором инджектиш в конструкторе пропиши
@Inject(MAT_DIALOG_DATA) public data: DialogData
У меня так и стоит
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
А как мне отрендерить компонент который я в дату передаю в диалоговом окне
источник

ВС

Валера Солдатов... in Angular - русскоговорящее сообщество
Taras Postolyuk
А как мне отрендерить компонент который я в дату передаю в диалоговом окне
Звучит крипово
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Валера Солдатов
Звучит крипово
Почему ng-container нет в документации?
источник

ВС

Валера Солдатов... in Angular - русскоговорящее сообщество
Bretbas
Народ, подскажите пожалуйста.
У меня lazy-load загрузка модулей по маршуртам:
      { path: ``, pathMatch: "full", redirectTo: `banks` },
     { path: `banks`, loadChildren: () => import('@banks/banks.module').then(x => x.BanksModule) },
     { path: `currencies`, loadChildren: () => import('@currencies/currencies.module').then(x => x.CurrenciesModule) },
     { path: `expenses`, loadChildren: () => import('@expenses/expenses.module').then(x => x.ExpensesModule) },
     { path: `organizations`, loadChildren: () => import('@organizations/organizations.module').then(x => x.OrganizationsModule) },
     { path: `contractors`, loadChildren: () => import('@contractors/contractors.module').then(x => x.ContractorsModule) }


В OrganizationModule рега
ются два сервиса:
 providers: [
   OrganizationStore,
   OrganizationFacade
 ]


OrganizationStore и OrganizationFacade не рутовые, тоесть вот так объявлены:
@Injectable()

Проблема в том, что почему то эти два сервиса работают как синглтоны на все приложение, но только после захода на маршрут /organizations. Тоесть конструктор срабатывает один раз и все, они живут все app lifetime.

А я предполагал, что они будут синглтоны в модуле OrganizationModule. МНе нужно такое поведение.

Подскажите, как сделать?
А какая версия ангулар?
источник

M

Maksim in Angular - русскоговорящее сообщество
Bretbas
Народ, подскажите пожалуйста.
У меня lazy-load загрузка модулей по маршуртам:
      { path: ``, pathMatch: "full", redirectTo: `banks` },
     { path: `banks`, loadChildren: () => import('@banks/banks.module').then(x => x.BanksModule) },
     { path: `currencies`, loadChildren: () => import('@currencies/currencies.module').then(x => x.CurrenciesModule) },
     { path: `expenses`, loadChildren: () => import('@expenses/expenses.module').then(x => x.ExpensesModule) },
     { path: `organizations`, loadChildren: () => import('@organizations/organizations.module').then(x => x.OrganizationsModule) },
     { path: `contractors`, loadChildren: () => import('@contractors/contractors.module').then(x => x.ContractorsModule) }


В OrganizationModule рега
ются два сервиса:
 providers: [
   OrganizationStore,
   OrganizationFacade
 ]


OrganizationStore и OrganizationFacade не рутовые, тоесть вот так объявлены:
@Injectable()

Проблема в том, что почему то эти два сервиса работают как синглтоны на все приложение, но только после захода на маршрут /organizations. Тоесть конструктор срабатывает один раз и все, они живут все app lifetime.

А я предполагал, что они будут синглтоны в модуле OrganizationModule. МНе нужно такое поведение.

Подскажите, как сделать?
Гугл подсказывает что начиная с Angular 6 модули никогда выгружаются. То есть lazyload модули не уничтожаются. Поэтому и сервисы продолжают жить.
Полагаю проблему можно решить объявляя сервисы в providers компонента, а не модуля. Еще советуют использовать viewProviders, но я про них ничего не знаю, поэтому возможно поможет, возможно нет
источник

ВС

Валера Солдатов... in Angular - русскоговорящее сообщество
Taras Postolyuk
Почему ng-container нет в документации?
А зачем?
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Так а где я должен прочитать что это и зачем?
источник

ВС

Валера Солдатов... in Angular - русскоговорящее сообщество
Taras Postolyuk
Так а где я должен прочитать что это и зачем?
Ну, в принципе, резонно)
источник

M

Maksim in Angular - русскоговорящее сообщество
Taras Postolyuk
Так а где я должен прочитать что это и зачем?
оно просто запрятано
https://angular.io/guide/built-in-directives#ngcontainer
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Спасибо
источник

ВС

Валера Солдатов... in Angular - русскоговорящее сообщество
И так много чего в ангулар) В идеале всю доку надо читать)
источник

B

Bretbas in Angular - русскоговорящее сообщество
Валера Солдатов
А какая версия ангулар?
11
источник