Можно ли как-то в компоненте вынести параметры в конструкторе в какой-то класс, чтобы если у меня их 20 штук в разных местах, то что-бы не повторять эти параметры каждый раз?

|
wiistriker 2022-06-27 17:52:02
igorfilippov3 2022-06-27 17:49:40
Туда нельзя будет подставить переменную с именем виджета. Они статические

вроде как можно
https://github.com/tc39/proposal-dynamic-import

GitHub — tc39/proposal-dynamic-import: import() proposal for JavaScriptGitHub
import() proposal for JavaScript. Contribute to tc39/proposal-dynamic-import development by creating an account on GitHub.
wiistriker 2022-06-27 17:52:23
igorfilippov3 2022-06-27 17:51:33
Но вообще код виджета можно сохранить в бд. Потом получить от апи и в рантайме скомпилировать. Ну как стакблитз делает например

о! а исходный код должен быть какой? ts или js?

wiistriker 2022-06-27 17:52:56
что почитать по теме?
waterplea 2022-06-27 17:54:53
wiistriker 2022-06-27 17:48:21
я так понимаю динамические импорты мне не помогут?

import(‘http://…/some.js’)

?

Импорт не умеет во внешние ссылки

igorfilippov3 2022-06-27 17:55:12
wiistriker 2022-06-27 17:52:02
вроде как можно
https://github.com/tc39/proposal-dynamic-import

Он на стейдж 4 разве его ща можно юзать?

igorfilippov3 2022-06-27 17:55:43
wiistriker 2022-06-27 17:52:23
о! а исходный код должен быть какой? ts или js?

Думаю что тс. Ну шото типа compile angular at runtime

waterplea 2022-06-27 17:56:00
Вот, может вдохновит на что-то:
https://habr.com/ru/company/tinkoff/blog/585534/

Ленивая подгрузка библиотек из CDN в AngularХабр
Когда я интегрировал свое Angular-караоке с YouTube, мне попался официальный YouTube-компонент из Angular Material. В README прилагалась инструкция для подключения: let apiLoaded = false;…
waterplea 2022-06-27 17:56:41
А вообще тебе, скорее, про тему микрофронтов надо читать.
waterplea 2022-06-27 17:58:56
Всякие там ModuleFederation:
https://github.com/Tinkoff/microzord
Микрзорд от нас из Тинькофф:
https://github.com/Tinkoff/microzord
@Katsuba может что подскажет

GitHub — Tinkoff/microzord: Simple and powerful Micro Frontends frameworkGitHub
Simple and powerful Micro Frontends framework. Contribute to Tinkoff/microzord development by creating an account on GitHub.
Rommaniel 2022-06-27 18:05:06
Вот еще на тему фронтенда-бекенда выдержка из википедии: Clang (произносится «клэнг»[2]) является фронтендом для языков программирования C, C , Objective-C,… Как видите здесь вообще нет никакой привязки к юаю…
im_anime 2022-06-27 18:18:20
igorfilippov3 2022-06-27 17:55:12
Он на стейдж 4 разве его ща можно юзать?

так стейдж 4 это последний стейдж когда уже в стандарт вошло и в движках работает

igorfilippov3 2022-06-27 18:22:00
im_anime 2022-06-27 18:18:20
так стейдж 4 это последний стейдж когда уже в стандарт вошло и в движках работает

Ясно👍

vistalynskyi 2022-06-27 18:31:39
angular_ru-568991.jpg
Всем привет! Подскажите, как можно сделать интерфейс с динамическим количеством полей?
ichursin 2022-06-27 18:33:05
vistalynskyi 2022-06-27 18:31:39
Всем привет! Подскажите, как можно сделать интерфейс с динамическим количеством полей?

Record<string, T> ?

vakhramoff 2022-06-27 18:49:23
vistalynskyi 2022-06-27 18:31:39
Всем привет! Подскажите, как можно сделать интерфейс с динамическим количеством полей?

Не запятая, а двоеточие

vistalynskyi 2022-06-27 18:54:03
оно ругается всеравно, ибо там типы разные(
licencetolove 2022-06-27 19:03:20
vistalynskyi 2022-06-27 18:54:03
оно ругается всеравно, ибо там типы разные(

type MyType<T> = { group: string; } & Record<string, T>

sergei_dev 2022-06-27 19:16:47
wiistriker 2022-06-27 17:08:50
Можно ли как-то реализовать подключение дополнительного кода в angular? Есть необходимость сделать так, чтобы пользователи могли свои виджеты дописывать в существующий проект.

Можно собирать их в web-компоненты, отдельно деплоить и лениво подгружать в приложение. Мы так делали

mr_lukianovych 2022-06-27 19:24:16
angular_ru-568999.jpg
Добрый вечер!
Подскажите, как мне здесь правильно прописать, чтобы бралось значение пути из переменной.
Мне нужно добавить фон к каждому элементу в цикле.
Kendzi_x 2022-06-27 19:28:41
mr_lukianovych 2022-06-27 19:24:16
Добрый вечер!
Подскажите, как мне здесь правильно прописать, чтобы бралось значение пути из переменной.
Мне нужно добавить фон к каждому элементу в цикле.

[ngStyle]

postoev 2022-06-27 19:29:49
mr_lukianovych 2022-06-27 19:24:16
Добрый вечер!
Подскажите, как мне здесь правильно прописать, чтобы бралось значение пути из переменной.
Мне нужно добавить фон к каждому элементу в цикле.

[style.backgroundImage]=»‘url(‘ item.path ‘)'» как вариант

zigzag_ua 2022-06-27 19:32:15
можно ли как-то в компоненте вынести параметры в конструкторе в какой-то класс, чтобы если у меня их 20 штук в разных местах, то что-бы не повторять эти параметры каждый раз ?
postoev 2022-06-27 19:34:27
zigzag_ua 2022-06-27 19:32:15
можно ли как-то в компоненте вынести параметры в конструкторе в какой-то класс, чтобы если у меня их 20 штук в разных местах, то что-бы не повторять эти параметры каждый раз ?

Типа того class MyComponent extends BaseComponent

zigzag_ua 2022-06-27 19:35:43
postoev 2022-06-27 19:34:27
Типа того class MyComponent extends BaseComponent

в BaseComponent чтобы передать их надо продублировать в MyComponent

zigzag_ua 2022-06-27 19:36:00
postoev 2022-06-27 19:34:27
Типа того class MyComponent extends BaseComponent

причем, иногда нужно чтобы были все параметры еще один

zigzag_ua 2022-06-27 19:36:49
postoev 2022-06-27 19:34:27
Типа того class MyComponent extends BaseComponent

в Spring Framework например по полю можно инджектить, что намного удобнее, но в angular такого нету(

Rommaniel 2022-06-27 19:37:34
zigzag_ua 2022-06-27 19:32:15
можно ли как-то в компоненте вынести параметры в конструкторе в какой-то класс, чтобы если у меня их 20 штук в разных местах, то что-бы не повторять эти параметры каждый раз ?

Можно, создайте отдельный класс и передавайте экземпляр класса как параметр.

definitelyfakename 2022-06-27 19:37:56
zigzag_ua 2022-06-27 19:36:49
в Spring Framework например по полю можно инджектить, что намного удобнее, но в angular такого нету(

Ангулар 14, inject() функция

light4everyone 2022-06-27 19:41:17
zigzag_ua 2022-06-27 19:32:15
можно ли как-то в компоненте вынести параметры в конструкторе в какой-то класс, чтобы если у меня их 20 штук в разных местах, то что-бы не повторять эти параметры каждый раз ?

так если в 5 местах оно повторяется а потом внезапно в 6ом месте надо подругому?

gearmobile 2022-06-27 20:10:57
angular_ru-569011.jpg
гайз, а что это такое? #simple — на примере?
ichursin 2022-06-27 20:11:32
gearmobile 2022-06-27 20:10:57
гайз, а что это такое? #simple — на примере?

Private properties

ichursin 2022-06-27 20:12:00
Но я бы ими пользоваться вообще не советовал
gearmobile 2022-06-27 20:12:30
первый раз такое вижу ) а почему — не советуете?
ichursin 2022-06-27 20:13:00
Ломает работу с Proxy как минимум
ichursin 2022-06-27 20:13:48
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes/Private_class_fields

Приватные поля класса — JavaScript | MDNdeveloper.mozilla.org
Свойства класса по умолчанию являются общедоступными и могут быть рассмотрены или изменены вне класса. Тем не менее, есть экспериментальное предложение, позволяющее определить приватные поля класса, используя префикс хэша #.
Mike Vazovsky 2022-06-27 20:14:16
атавизм синтаксиса и условной договоренности разработчиков по ES2015, это TS, перепиши на private и не парься
light4everyone 2022-06-27 20:14:32
по сути проверок ts-а с его ненастоящими private полями хватает
ichursin 2022-06-27 20:15:18
light4everyone 2022-06-27 20:14:32
по сути проверок ts-а с его ненастоящими private полями хватает

Так ещё и proxy не ломает

light4everyone 2022-06-27 20:16:49
ichursin 2022-06-27 20:15:18
Так ещё и proxy не ломает

на проверти компонентов вообще странно proxy ставить

ichursin 2022-06-27 20:18:19
light4everyone 2022-06-27 20:16:49
на проверти компонентов вообще странно proxy ставить

Не спорю, но я скорее в целом про то, что private properties вышли сырыми и хреново реализованными

oligarhe 2022-06-27 20:26:12
В компоненте есть public state = BehSubject(false);

Меняю на тру так state.next(true);

В шаблоне ничего не меняеьс я {{state | async }}

oligarhe 2022-06-27 20:26:28
Где мог ошибиться?
light4everyone 2022-06-27 20:32:30
oligarhe 2022-06-27 20:26:28
Где мог ошибиться?

покажите код

oligarhe 2022-06-27 20:32:59
light4everyone 2022-06-27 20:32:30
покажите код

Чуть позже пришлю

zigzag_ua 2022-06-27 20:39:58
oligarhe 2022-06-27 20:32:59
Чуть позже пришлю

New beh…

oligarhe 2022-06-27 20:40:26
zigzag_ua 2022-06-27 20:39:58
New beh…

Там есть, для краткости написал

zigzag_ua 2022-06-27 20:41:59
oligarhe 2022-06-27 20:40:26
Там есть, для краткости написал

А что пишет ? Посмотри мб ерроры в логах есть

waterplea 2022-06-27 21:05:41
ichursin 2022-06-27 20:18:19
Не спорю, но я скорее в целом про то, что private properties вышли сырыми и хреново реализованными

А что в них сырое и хреново реализованное?

ichursin 2022-06-27 21:06:21
waterplea 2022-06-27 21:05:41
А что в них сырое и хреново реализованное?

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

ichursin 2022-06-27 21:06:48
Конкретно оно ломает работу поведения класса proxy
|