Public
Edited
Nov 9
Importers
1 star
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
viewof parent = view`<div>
${["child", reversibleAttach(attach, viewof child)]}
</div>`
Insert cell
Insert cell
child
Insert cell
parent
Insert cell
Insert cell
Inputs.button("backdrive parent", {
reduce: () => {
viewof parent.value.child = Math.random();
viewof parent.child.dispatchEvent(new Event("input", { bubbles: true }));
}
})
Insert cell
Insert cell
Insert cell
viewof grand_parent = Inputs.form({
parent: reversibleAttach(attach_gp, viewof parent)
})
Insert cell
grand_parent
Insert cell
Inputs.button("backdrive grand_parent", {
reduce: () => {
viewof grand_parent.value.parent.child = Math.random();
viewof grand_parent.dispatchEvent(new Event("input", { bubbles: true }));
}
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
//import { footer } from "@tomlarkworthy/footer"
Insert cell
footer
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more