You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/tutorial/01-svelte/05-events/01-dom-events/README.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Sự kiện DOM
3
3
---
4
4
5
-
Như bạn đã thấy, bạn có thể lắng nghe bất kì sự kiện DOM nào trên một phần tử (chẳng hạn như một click chuột hoặc [pointermove](https://developer.mozilla.org/en-US/docs/Web/API/Element/pointermove_event)) với `on:`:
5
+
Như ta đã thấy, bạn có thể lắng nghe bất kì sự kiện DOM nào trên một phần tử (chẳng hạn như nhấp chuột hoặc [pointermove](https://developer.mozilla.org/en-US/docs/Web/API/Element/pointermove_event)) với `on:`:
Copy file name to clipboardExpand all lines: content/tutorial/01-svelte/05-events/02-inline-handlers/README.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
---
2
-
title: Inline handlers
2
+
title: Hàm xử lý cùng dòng _(inline handlers)_
3
3
---
4
4
5
-
Bạn cũng có thể khai báo event handler trong cùng một dòng _(inline event handlers)_:
5
+
Bạn cũng có thể khai báo hàm xử lý sự kiện cùng dòng:
6
6
7
7
```svelte
8
8
/// file: App.svelte
@@ -24,4 +24,4 @@ Bạn cũng có thể khai báo event handler trong cùng một dòng _(inline e
24
24
</div>
25
25
```
26
26
27
-
> Trong một số framework thường hay có đề xuất nên tránh inline event handler để có hiệu năng tốt nhất, thường là trong các vòng lặp. Lời khuyên đó thì lại không áp dụng cho Svelte - bất kể bạn chọn cách nào, trình dịch sẽ luôn làm điều đúng đắn nhất.
27
+
> Trong một số framework thường hay có đề xuất nên tránh hàm xử lý cùng dòng để có hiệu năng tốt nhất, đặc biệt là trong các vòng lặp. Lời khuyên đó không áp dụng cho Svelte - bất kể bạn chọn cách nào, trình dịch sẽ luôn làm điều đúng đắn nhất.
Copy file name to clipboardExpand all lines: content/tutorial/01-svelte/05-events/03-event-modifiers/README.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Modifier trong sự kiện
3
3
---
4
4
5
-
DOM event handler có thể có _modifier_ để thay đổi hành vi của nó. Chẳng hạn như một handler với modifier `once` sẽ làm cho nó chạy đúng _một lần_:
5
+
Hàm xử lý sự kiên DOM có thể có _modifier_ để thay đổi hành vi của nó. Chẳng hạn như một hàm xử lý với modifier `once` sẽ làm cho nó chạy đúng _một lần_:
6
6
7
7
```svelte
8
8
/// file: App.svelte
@@ -13,13 +13,13 @@ DOM event handler có thể có _modifier_ để thay đổi hành vi của nó.
13
13
14
14
Dưới đây là đầy đủ danh sách các modifier:
15
15
16
-
-`preventDefault` — gọi `event.preventDefault()` trước khi chạy handler. Hữu ích cho việc xử lý form.
16
+
-`preventDefault` — gọi `event.preventDefault()` trước khi chạy hàm xử lý. Hữu ích cho việc xử lý form.
17
17
-`stopPropagation` — gọi `event.stopPropagation()`, tránh sự kiện với tới phần tử kế tiếp.
18
18
-`passive` - tăng hiệu năng cho việc cuộn trang trên các sự kiện chạm/lăn chuột (Svelte sẽ tự động thêm khi chỗ đó có thể thêm được).
19
19
-`nonpassive` — buộc đặt `passive: false`.
20
-
-`capture` - chạy handler trong giai đoạn [_capture_](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#event_capture) thay vì giai đoạn [_bubbling_](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#event_bubbling).
21
-
-`once` — bỏ kích hoạt handler sau khi chạy lần đầu tiên.
22
-
-`self` — chỉ chạy handler khi `event.target` là phần tử chính nó.
23
-
-`trusted` - chỉ chạy handler khi `event.isTrusted` là `true`, tức là sự kiện chỉ có thể kích hoạt bởi thao tác từ người dùng thay vì được gọi từ JavaScript bằng `element.dispatchEvent(...)`.
20
+
-`capture` - chạy hàm xử lý trong giai đoạn [_capture_](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#event_capture) thay vì giai đoạn [_bubbling_](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#event_bubbling).
21
+
-`once` — bỏ kích hoạt hàm xử lý sau khi chạy lần đầu tiên.
22
+
-`self` — chỉ chạy hàm xử lý khi `event.target` là phần tử chính nó.
23
+
-`trusted` - chỉ chạy hàm xử lý khi `event.isTrusted` là `true`, tức là sự kiện chỉ có thể kích hoạt bởi thao tác từ người dùng thay vì được gọi từ JavaScript bằng `element.dispatchEvent(...)`.
24
24
25
25
Bạn có thể chồng các modifier lên, ví dụ như `on:click|once|capture={...}`.
Copy file name to clipboardExpand all lines: content/tutorial/01-svelte/05-events/04-component-events/README.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -21,11 +21,11 @@ Component cũng có thể phái _(dispatch)_ các sự kiện. Bạn cần phả
21
21
22
22
> Bạn phải gọi `createEventDispatcher` khi component được khởi tạo lần đầu - bạn không thể chúng gọi sau này, chẳng hạn như trong callback của `setTimeout`. Việc này sẽ liên kết `dispatch` với instance của component.
23
23
24
-
Sau đó, thêm handler`on:message` vào `App.svelte`:
24
+
Sau đó, thêm hàm xử lý`on:message` vào `App.svelte`:
25
25
26
26
```svelte
27
27
/// file: App.svelte
28
28
<Inner +++on:message={handleMessage}+++ />
29
29
```
30
30
31
-
> Bạn cũng có thể thay đổi tên sự kiện thành thứ khác. Chẳng hạn như thay đổi `dispatch('message', {...})` thành `dispatch('greet', {...})` trong `Inner.svelte` và thay đổi tên attribute từ `on:message` thành `on:greet` trong `App.svelte`.
31
+
> Bạn cũng có thể thay đổi tên của sự kiện. Chẳng hạn như thay đổi `dispatch('message', {...})` thành `dispatch('greet', {...})` trong `Inner.svelte` và thay đổi tên thuộc tính từ `on:message` thành `on:greet` trong `App.svelte`.
Copy file name to clipboardExpand all lines: content/tutorial/01-svelte/05-events/05-event-forwarding/README.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,11 @@ title: Event forwarding
3
3
---
4
4
5
5
<!-- FIXME: Need link for "bubble" -->
6
-
Không như DOM event, component events không _bubble_. Nếu bạn muốn lắng nghe một sự kiện trên component được lồng sâu bên trong, component trung gian đó phải đẩy_(forward)_ sự kiện đó.
6
+
Không như sự kiện của DOM, sự kiện từ component không _bubble_. Nếu bạn muốn lắng nghe một sự kiện trên component lồng sâu bên trong, các component trung gian phải chuyển tiếp_(forward)_ sự kiện đó.
7
7
8
-
Trong trường hợp này, chúng ta có `App.svelte` và `Inner.svelte` trong [phần trước](/tutorial/component-events), và bây giờ ta có component `Outer.svelte`bao gồm`<Inner/>`.
8
+
Trong trường hợp này, chúng ta có `App.svelte` và `Inner.svelte` trong [phần trước](/tutorial/component-events), và bây giờ ta có component `Outer.svelte`chứa`<Inner/>`.
9
9
10
-
Một cách mà ta _có thể_ giải là thêm `createEventDispatcher` vào `Outer.svelte`, _nghe_ sự kiện `message`, và tạo một handler cho nó:
10
+
Một cách mà ta _có thể_ giải là thêm `createEventDispatcher` vào `Outer.svelte`, _nghe_ sự kiện `message`, và tạo một hàm xử lý cho nó:
11
11
12
12
```svelte
13
13
/// file: Outer.svelte
@@ -25,7 +25,7 @@ Một cách mà ta _có thể_ giải là thêm `createEventDispatcher` vào `Ou
25
25
<Inner on:message={forward}/>
26
26
```
27
27
28
-
Nhưng bạn phải viết khá nhiều code cho việc này, cho nên Svelte có một cách viết tắt - một event `on:message`mà không có giá trị thì nó có nghĩa là "forward tất cả sự kiện có tên `message`".
28
+
Nhưng bạn phải viết khá nhiều code cho việc này, cho nên Svelte có một cách viết tắt - một chỉ thị _(directive)_`on:message`khi không có giá trị thì nó có nghĩa là "chuyển tiếp tất cả sự kiện có tên `message`".
0 commit comments