我正在Svelte中创建一个切换组件,并且我直接在子组件中修改了道具isActive
:
https://svelte.dev/repl/da651280c99c471d82944985339f8551?version=3.12.1
我正在考虑以下替代方法:
我想避开#1,因为它感觉过度杀伤力。 在#2中,基于prop初始化变量的最佳位置在哪里?
或者建议使用其他替代方法来处理这种情况(对于其他道具,例如传递搜索文本或标签列表,我也有同样的问题)?
答案 0 :(得分:0)
在斯维尔特(Svelte)中,鼓励双向绑定,而直接更新道具通常是可行的方法。如果在更新某些内容时应该执行复杂的操作,则发出事件可能会更好。在这种情况下,您已经在更新道具,所以我将像这样绑定值:
<script>
import Toggle from './Toggle.svelte';
let someToggleValue = false;
</script>
<Toggle title="Toggle Header" bind:isActive={someToggleValue}>
<div class="content">
The Content
</div>
</Toggle>
答案 1 :(得分:0)
对我来说,它来回答: 1)更改仅是外观上的吗?是=绑定到变量 2)更改将对模型数据作出努力吗?任何努力=事件 3)很奇怪,可能是设计问题