Я использую только что горит - html, а не Polymer или любой другой компонент lib.
Сценарий: Root компонент содержит подкомпонент A содержит подкомпонент B содержит подкомпонент C
Идеальное поведение: Root компонент рендеринга, подкомпонент A понимает, что пока не нуждается в повторном рендеринге, поэтому пропускает грязную проверку и просто возвращает поддерево DOM.
I хотите, чтобы компонент root мог выполнять повторную визуализацию без необходимости повторной визуализации дочерних элементов. Пропуск грязной проверки во вложенных компонентах и возврат поддерева, если родительский компонент не нуждается в повторном рендеринге.
Возможно ли добиться такого потока с помощью директив?
Таким образом, хотя приведенный ниже код не соответствует требованиям (счетчики обновляются sh при повторном рендеринге root), мы надеемся, что он передает то, что я пытаюсь сделать (то есть я хочу div перерисовать, но ничего не делать для частей asyncReplace, но вернуть то, что уже есть):
async function* countUp2() {
let i = 0;
while (true) {
yield i++
await wait(500);
}
}
const renderComponent = () => {
render(
html`<div>${asyncReplace(countUp())}${asyncReplace(countUp())}</div>`,
this._shadowRoot
)
}
setInterval(renderComponent, 500)