Skip to main content

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ể set mộ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.

Tiếp theo: Stores tùy chỉnh

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>
 
initialising