【发布时间】:2020-04-21 19:27:44
【问题描述】:
我在 Svelte 中有两个反应式语句。当子语句发生变化(基于某些输入)时,父语句(子语句所依赖的语句)也会被触发。检查以下sn-p:
<script>
const options = [
{key: 'one'},
{key: 'two'},
{key: 'three'},
];
// NOTE: initialOption may be obtained reactively from somewhere like the query string.
$: initialOption = options[0];
$: selectedOption = initialOption;
$: console.log('initialOption reactivity:', initialOption);
$: console.log('selectionOption reactivity:', selectedOption);
</script>
<select bind:value={selectedOption}>
{#each options as opt}
<option value={opt}>{opt.key}</option>
{/each}
</select>
https://svelte.dev/repl/bdc48c75acf94a9ca13da377b7cd8f19?version=3.20.1
如果你运行上面的sn -p,每次你尝试从下拉列表中选择(绑定到selectedOption),initialOption的赋值好像又被触发了,为什么?这是预期的行为吗?
【问题讨论】:
标签: svelte