conditionals
Đánh giá điều kiện
Đánh giá điều kiện cho phép kiểm soát động việc hiển thị hoặc ẩn nội dung trong tài liệu dựa trên giá trị dữ liệu. Cung cấp ba cách viết điều kiện chính:
- Điều kiện inline: Trực tiếp xuất văn bản (hoặc thay thế bằng văn bản khác).
- Block điều kiện: Hiển thị hoặc ẩn một vùng trong tài liệu, áp dụng cho nhiều thẻ, đoạn, bảng...
- Điều kiện thông minh: Thông qua một thẻ trực tiếp loại bỏ hoặc giữ phần tử mục tiêu (như hàng, đoạn, hình ảnh...), cú pháp ngắn gọn hơn.
Tất cả điều kiện đều bắt đầu bằng một Formatter đánh giá logic (ví dụ ifEQ, ifGT...), tiếp theo là Formatter thực thi hành động (như show, elseShow, drop, keep...).
Tổng quan
Các toán tử logic và Formatter hành động được hỗ trợ trong đánh giá điều kiện bao gồm:
-
Toán tử logic
- ifEQ(value): Đánh giá dữ liệu có bằng giá trị chỉ định không
- ifNE(value): Đánh giá dữ liệu có khác giá trị chỉ định không
- ifGT(value): Đánh giá dữ liệu có lớn hơn giá trị chỉ định không
- ifGTE(value): Đánh giá dữ liệu có lớn hơn hoặc bằng giá trị chỉ định không
- ifLT(value): Đánh giá dữ liệu có nhỏ hơn giá trị chỉ định không
- ifLTE(value): Đánh giá dữ liệu có nhỏ hơn hoặc bằng giá trị chỉ định không
- ifIN(value): Đánh giá dữ liệu có nằm trong mảng hoặc chuỗi không
- ifNIN(value): Đánh giá dữ liệu có không nằm trong mảng hoặc chuỗi không
- ifEM(): Đánh giá dữ liệu có rỗng không (như null, undefined, chuỗi rỗng, mảng rỗng hoặc object rỗng)
- ifNEM(): Đánh giá dữ liệu có không rỗng không
- ifTE(type): Đánh giá loại dữ liệu có bằng loại chỉ định không (ví dụ "string", "number", "boolean"...)
- and(value): Logic "và", dùng để kết nối nhiều điều kiện
- or(value): Logic "hoặc", dùng để kết nối nhiều điều kiện
-
Formatter hành động
- :show(text) / :elseShow(text): Dùng cho điều kiện inline, trực tiếp xuất văn bản chỉ định
- :hideBegin / :hideEnd và :showBegin / :showEnd: Dùng cho block điều kiện, ẩn hoặc hiển thị block tài liệu
- :drop(element) / :keep(element): Dùng cho điều kiện thông minh, loại bỏ hoặc giữ phần tử tài liệu chỉ định
Tiếp theo lần lượt giới thiệu cú pháp chi tiết, ví dụ và kết quả của từng cách dùng.
Điều kiện inline
1. :show(text) / :elseShow(text)
Cú pháp
Ví dụ
Giả sử dữ liệu là:
Template như sau:
Kết quả
2. Switch Case (đánh giá nhiều điều kiện)
Cú pháp
Sử dụng Formatter điều kiện liên tiếp để xây dựng cấu trúc giống switch-case:
Hoặc dùng toán tử or để triển khai:
Ví dụ
Dữ liệu:
Template:
Kết quả
3. Đánh giá điều kiện đa biến
Cú pháp
Sử dụng toán tử logic and/or có thể kiểm tra nhiều biến:
Ví dụ
Dữ liệu:
Template:
Kết quả
Toán tử logic và Formatter
Các Formatter được giới thiệu trong các phần dưới đây đều áp dụng dạng điều kiện inline, định dạng cú pháp:
1. :and(value)
Cú pháp
Ví dụ
Kết quả
Nếu d.car bằng 'delorean' và d.speed lớn hơn 80, thì xuất TravelInTime; ngược lại xuất StayHere.
2. :or(value)
Cú pháp
Ví dụ
Kết quả
Nếu d.car bằng 'delorean' hoặc d.speed lớn hơn 80, thì xuất TravelInTime; ngược lại xuất StayHere.
3. :ifEM()
Cú pháp
Ví dụ
Kết quả
Đối với null hoặc mảng rỗng, xuất Result true; ngược lại xuất Result false.
4. :ifNEM()
Cú pháp
Ví dụ
Kết quả
Đối với dữ liệu không rỗng (như số 0 hoặc chuỗi 'homer'), xuất Result true; dữ liệu rỗng thì xuất Result false.
5. :ifEQ(value)
Cú pháp
Ví dụ
Kết quả
Nếu dữ liệu bằng giá trị chỉ định thì xuất Result true, ngược lại xuất Result false.
6. :ifNE(value)
Cú pháp
Ví dụ
Kết quả
Ví dụ đầu xuất Result false, ví dụ thứ hai xuất Result true.
7. :ifGT(value)
Cú pháp
Ví dụ
Kết quả
Ví dụ đầu xuất Result true, ví dụ thứ hai xuất Result false.
8. :ifGTE(value)
Cú pháp
Ví dụ
Kết quả
Ví dụ đầu xuất Result true, ví dụ thứ hai xuất Result false.
9. :ifLT(value)
Cú pháp
Ví dụ
Kết quả
Ví dụ đầu xuất Result true, ví dụ thứ hai xuất Result false.
10. :ifLTE(value)
Cú pháp
Ví dụ
Kết quả
Ví dụ đầu xuất Result true, ví dụ thứ hai xuất Result false.
11. :ifIN(value)
Cú pháp
Ví dụ
Kết quả
Cả hai ví dụ đều xuất Result true (vì chuỗi chứa 'is', mảng chứa 2).
12. :ifNIN(value)
Cú pháp
Ví dụ
Kết quả
Ví dụ đầu xuất Result false (vì chuỗi chứa 'is'), ví dụ thứ hai xuất Result false (vì mảng chứa 2).
13. :ifTE(type)
Cú pháp
Ví dụ
Kết quả
Ví dụ đầu xuất Result true ('homer' là chuỗi), ví dụ thứ hai xuất Result true (10.5 là số).
Block điều kiện
Block điều kiện dùng để hiển thị hoặc ẩn một vùng trong tài liệu, thường dùng để bao bọc nhiều thẻ hoặc cả đoạn văn bản.
1. :showBegin / :showEnd
Cú pháp
Ví dụ
Dữ liệu:
Template:
Kết quả
Khi điều kiện thỏa mãn, nội dung ở giữa hiển thị:
2. :hideBegin / :hideEnd
Cú pháp
Ví dụ
Dữ liệu:
Template:
Kết quả
Khi điều kiện thỏa mãn, nội dung ở giữa bị ẩn, đầu ra:

