99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Svelte 更新數(shù)組和對(duì)象

2023-02-20 17:02 更新

由于 Svelte 的反應(yīng)性是由賦值語(yǔ)句觸發(fā)的,因此使用數(shù)組的諸如 push 和 splice 之類的方法就不會(huì)觸發(fā)自動(dòng)更新。例如,點(diǎn)擊按鈕就不會(huì)執(zhí)行任何操作。

解決該問(wèn)題的一種方法是添加一個(gè)多余的賦值語(yǔ)句:

function addNumber() {
	numbers.push(numbers.length + 1);
	numbers = numbers;
}

但還有一個(gè)更慣用的解決方案:

function addNumber() {
	numbers = [...numbers, numbers.length + 1];
}

你可以使用類似的模式來(lái)替換 pop、shift、unshift 和 splice 方法。

賦值給數(shù)組和對(duì)象的 屬性(properties) (例如,obj.foo += 1 或 array[i] = x)與對(duì)值本身進(jìn)行賦值的方式相同。

function addNumber() {
	numbers[numbers.length] = numbers.length + 1;
}

一個(gè)簡(jiǎn)單的經(jīng)驗(yàn)法則是:被更新的變量的名稱必須出現(xiàn)在賦值語(yǔ)句的左側(cè)。例如下面這個(gè):

const foo = obj.foo;
foo.bar = 'baz';

就不會(huì)更新對(duì) obj.foo.bar 的引用,除非使用 obj = obj 方式。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)