Bạn có thể tạo ra một store mà giá trị của nó dựa trên giá trị của một hoặc nhiều store khác bằng cách sử dụng derived. Theo ví dụ trước đó của chúng ta, chúng ta có thể tạo ra một store lấy thời gian trang đã mở:
stores.js
export const elapsed = derived(
time,
($time) => Math.round(($time - start) / 1000)
);Bạn có thể lấy một store từ nhiều store đầu vào và cũng có thể
setmột giá trị một cách tường minh thay vì trả về nó (điều này hữu ích khi lấy các giá trị một cách bất đồng bộ). Tham khảo tài liệu API để biết thêm thông tin.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script>
import { time, elapsed } from './stores.js';const formatter = new Intl.DateTimeFormat(
'en',
{hour12: true,
hour: 'numeric',
minute: '2-digit',
second: '2-digit'
}
);
</script>
<h1>Thời gian là {formatter.format($time)}</h1><p>
Trang này đã được mở trong
{$elapsed} {$elapsed === 1 ? 'second' : 'seconds'}</p>