我有一个问题,将一些值从父组件传递给子组件并显示该值的最佳方式是什么,因为我尝试使用属性和插槽传递值,并且两种方式都有效。属性:我有一个移动列表,并使用父组件中的repeat
lit-html(和html
渲染方法)来创建 n 个子组件,并为其提供属性值。
//father component
render(){
return html`
${repeat(movements, movement => movement.id, (movement, index)=> html`
<movement
.id=${movement.id} .description=${movement.description} .amount=${movement.amount} .balance=${movement.balance}>
</movement>
<hr>
`)}
`
}
//child component
render(){
return html`
<dt>${this.id}</dt>
<dl>${this.description}</dl>
<dl>${this.amount}</dl>
<dl>${this.balance}</dl>
`;
}
插槽:我有一个移动列表,并使用父组件中的repeat
lit-html(和html
渲染方法)来创建 n 个子组件,并给出在子组件中声明的插槽中的值
//child component
render(){
return html`
<dd>
<slot name="id"></slot>
<slot name="description"></slot>
<slot name="amount"></slot>
<slot name="balance"></slot>
</dd>
`;
}
//father component
render(){
return html`
${repeat(movements, movement=>movement.id, (movement, index)=>html`
<movement>
<dt slot="id"> ${movement.id} </dt>
<dl slot="description"> ${movement.description} </dl>
<dl slot="amount"> ${movement.amount} </dl>
<dl slot="balance"> ${movement.balance} </dl>
</movement>
`)}
`;
}
哪个是最好的方法?我什么时候必须使用一个和另一个?