Appearance
Children Components Slots
In CanvasEngine, you can access child components that are passed to a parent component.
html
<Child>
<Rect width={100} height={100} color="red" x={0} y={0} />
</Child>
<script>
import Child from './child.ce'
</script>How to access the children components in the Child component?
Basic Usage
In the Child component, you can access the children components using the defineProps() function.
html
<slot />
<script>
const { children } = defineProps()
const slot = children[0]
</script>Children are accessible as an array, where children[0] is the first child, children[1] is the second child, etc.
Multiple Children
You can pass multiple children to a component:
html
@for (child of children) {
<child />
}
<script>
import { signal } from 'canvasengine'
const { children } = defineProps()
</script>Dynamic Child Switching
You can dynamically switch between children using signals. You can also use the attach prop to attach a child to a container.
html
<Container attach={activeChild} />
<script>
import { signal } from 'canvasengine'
const { children } = defineProps()
const activeChild = signal(children[0])
// Switch to second child after 1 second
setTimeout(() => {
activeChild.set(children[1])
}, 1000)
</script>This pattern is useful for creating dynamic interfaces where you need to swap components based on certain conditions or user interactions.