Комментарии 4
А что для реактивности используется ? Rxjs ? Или просто названия похожие
Как я понял используется push семантика для реактивности ?
Будет ли скил для ллмки ?)
Не хотел бы отделить шаблон от логики ? Что бы не парсить html
Zero-dependency фреймворк, система реактивности тоже своя. В основе примитивы Rx и RxFunc
https://github.com/MaratBektemirov/cruzo/blob/master/lib/rx.ts
Ну если рассматривать rx значения в шаблоне, то да, это push-семантика. Здесь источник (свойство) сам сообщает шаблону (потребителю) об изменение данных. Я считаю pull-семантику (когда потребитель, т.е. шаблон сам запрашивает у источников данные об изменении) менее производительной. Но вообще у меня возможна и pull-семантика, просто надо будет вызывать this.template.detectChanges(), но для rx свойств это будет не очень.
Скилл для ллмки наверное надо сделать, если это полезный тренд
А HTML у меня не парситься. Т.к. шаблоны cruzo это расширение html, то сразу все что в getHTML можно прописать через innerHTML, а потом просто бежать по нодам и смотреть, где реактивные свойства, где обычные и т.д.
protected initTemplate() {
const html = this.getHTML();
if (html) {
this.node.innerHTML = html;
this.template = new Template({
node: this.node,
self: () => this,
selector: this.selector,
__tplFile: this.__tplFile,
domStructureChanged: () => {
this.domStructureChanged();
},
});
this.template.detectChanges();
this.updateDependencies();
}
}
Знакомимся с Cruzo. Часть 1. RxBucket – контейнер состояний и конфигураций компонентов на фронте