Size: a a a

Elm Lang сообщество разработчиков

2020 October 14

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
можно было бы просто вывести callbacks на работу с дом у elm, на все елементы. Кому нужно - словит тот, что нужно через костыли типа id или data тегов
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
вот, думали уже над этим. В 2016. Ничего с тех пор не родили
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Эван опять всё слил под соусом "будет сложно, поэтому не будет"
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Не туда смотрели

var Elm = require('./dist/elm/main.js');

var app = Elm.Main.init({
 node: document.getElementById('elm-app'),
 domCallbacks: {
   onAdd: ...
   onRemove: ...
 }
});

я про такое
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Чем это лучше веб-компонента с внешним стейтом? Там хоть не подписываешься на изменения всего остального
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Правда, такой вебкомпонент — не тру и подрывает основы. Но жить-то надо как-то
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
тем, что я никогда не юзал веб компоненты на проде, потому что куча ограничений раньше было. Сейчас не знаю 😁 а это просто js, которому 100 лет
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Я тоже не юзал. Но вижу, как это решило бы проблему с барьером абстракции: эльму жизненно важно не видеть вложенный DOM. Потому что его изменения извне поломают diff
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Впрочем, тут уже shadow dom какой-то нужен
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Alexey Yurchenko
Не туда смотрели

var Elm = require('./dist/elm/main.js');

var app = Elm.Main.init({
 node: document.getElementById('elm-app'),
 domCallbacks: {
   onAdd: ...
   onRemove: ...
 }
});

я про такое
так это никак не влияет на elm
это калбеки рантайма
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
пофиг что там внутри. какая-то штука, которая рулит домом
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
я просто хочу доруливать дополнительно
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
В коллбеках придётся отрабатывать создание вообще всего, чтобы отсечь то, что интересует.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это оверкилл
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
думаю вызвать доп функцию в рантайме на каждую ноду это копейки
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
дом нода на пару порядков дольше создается и удаляется
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Писать такую функцию когнитивно сложно
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Пофиг на скорость, на неё только Эван дрочит
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Интеграция всегда такая, костыль на костыле. Не бывает иначе
источник