Size: a a a

Советский Angular

2021 August 18

IB

Igor Bodnar in Советский Angular
Какая то инквизиторская приспособа?
источник

ЕУ

Евгений Удалов... in Советский Angular
стол для нищих
источник

AI

Alexander Iworb in Советский Angular
в смысле стол? С виду стул же
источник

AS

Anton Shvets in Советский Angular
это на кухню стол для микроволновки
источник

ЕУ

Евгений Удалов... in Советский Angular
если стул, тоточно инквизиторский
источник

AI

Alexander Iworb in Советский Angular
это для программистов на COBOL
источник

AS

Anton Shvets in Советский Angular
может там не все так плохо
источник

AS

Anton Shvets in Советский Angular
наверно все же лучше, чем у программистов на js
источник

АД

Александр Духновский... in Советский Angular
Аналоговый фотошоп?
источник

ЕУ

Евгений Удалов... in Советский Angular
?
источник

ЕУ

Евгений Удалов... in Советский Angular
короче заказал. поюзаю, расскажу
источник

SV

Sergey Vakhramov in Советский Angular
🌿 Плоды Angular Ivy начинают радовать. Еще больше динамики!

В настоящее время чтобы реализовать динамические компоненты в Angular есть 2 пути:
- Используя JIT Compiler, т.е. из любой строки создать компонент. Имеет в себе много недостатков, поэтому практически никто таким не занимается на проде.
- Используя ViewContainerRef, и ему подобные API, которая на самом деле не предоставляет достаточной гибкости динамического создания представлений из смеси статического HTML.

И вот появилось предложение для создания таких компонент, Imperative View & Template Composition APIs.

Пример, как это может бы быть


import {createView, html, component, directive, text, binding, template} from "@angular/core/compose";
import {MyYellowComponent} "./myYellow.component";

const myCustomView = await createMyCustomView({userName: 'Kahless'});

async function createMyCustomView(myContext) {
return createView([
 html("<div>some static html,</div>"),
   component(MyYellowComponent, { projection: [
     text("html string followed by a binding"),

     // {{ userName }}
     binding(() => myContext.userName),
...
}


На самом деле, это скорее будет скрыто под каким либо wrapper, никому не охота писать в стиле Incremental Dom, я думаю. Возможности конечно радуют.

p.s. Такое можно уже делать, используя инструкции Ivy, через Θ, но никто ничего не гарантирует =)
источник

ДМ

Денис 🐴 Макаров... in Советский Angular
ну наконец-то
источник

AS

Anton Shvets in Советский Angular
во вью это все ж как-то попроще реализовывается. Просто фигачишь компонент из объекта, в котором темплейт это строка.
источник

SV

Sergey Vakhramov in Советский Angular
Ну и хз, кто на этом писать будет)
источник

SV

Sergey Vakhramov in Советский Angular
Мне кажется, применение крайне ограниченное
источник

ДМ

Денис 🐴 Макаров... in Советский Angular
мою проблему решило бы сполна
источник

AS

Anton Shvets in Советский Angular
ну ващет это довольно частый кейс, у меня например тоже есть потребность рисовать компонент из темплейта, который придет из бд. Который например менеджеры могут редактировать.
источник

AS

Anton Shvets in Советский Angular
вопрос еще насколько это будет быстро работать
источник

GK

Georgii Klubnikov in Советский Angular
иногда можно вспомнить про то как это делали на JS document.createElement  и погнали ))
источник