Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Mini engine: each(object) + if + escape

    Mini template engine tổng hợp

    Render template với:

    1. {{#each users}}...{{/each}}: lặp mảng object; bên trong dùng {{name}},{{role}} (escape HTML), và {{#if vip}}★{{/if}} (cờ vip của phần tử).
    2. Ngoài each: {{title}} (escape HTML).

    Thứ tự: render each (xử lý if bên trong theo từng phần tử) rồi thay biến ngoài cùng.

    Ví dụ

    Input:
    {{title}}
    {{#each users}}{{name}}{{#if vip}}★{{/if}} {{/each}}
    {"title":"DS","users":[{"name":"An","vip":true},{"name":"Bí","vip":false}]}
    
    Output:
    DS
    An★ Bí 
    
    • Định dạng đầu vào:

      Các dòng trừ dòng cuối: template (có thể nhiều dòng). Dòng cuối: JSON.

    • Ràng buộc đầu vào:

      if bên trong each chỉ tham chiếu thuộc tính phần tử. Escape & < > cho biến thường.

    • Định dạng đầu ra:

      Kết quả render.

    Ví dụ:

    Đầu vào:

    {{title}}
    {{#each users}}{{name}}{{#if vip}}★{{/if}} {{/each}}
    {"title":"DS","users":[{"name":"An","vip":true},{"name":"Bí","vip":false}]}
    

    Đầu ra:

    DS
    An★ Bí 

    Giải thích:

    An vip nên có ★; Bí không. title DS render ngoài.

    Đang tải editor...