Bài 14: HTML Template String trong ES6

Trong bài này chúng ta sẽ tìm hiểu về cú pháp cũng như làm một số ví dụ về Template String trong ES6.

Trong Laravel có Blade template, trong Phalcon có Volt template, vậy trong Javascript có template nào hay không? Tính từ ES5 trở về trước thì chưa xuất hiện khái niệm template string mà nó chỉ vừa mới thêm vào trong phiên bản ES6, nên đa số các lập trình viên không sử dụng.

1. HTML Template String trong ES6

Template String sẽ thay thế cách nối chuỗi thông thường.

Cấu trúc

Template String được bao bọc bởi cặp dấu ``.

let temp = `
    Chào mừng bạn đến với freetuts.net
`;

Khai báo tham số

Để khai báo tham số trong chuỗi Template String thì bạn sử dụng cú pháp ${ten_bien} và đặt vào vị trí muốn hiển thị.

let temp = `
    Chào mừng bạn đến với ${website}
`;

Trong chuỗi Template String nếu có tham số thì bắt buộc trước khi sử dụng ta phải khai báo biến, nếu không sẽ bị lỗi ngay.

var website = 'freetuts.net';

let temp = `
    Chào mừng bạn đến với ${website}
`;

console.log(temp);

Kết quả:

2. Lặp dữ liệu và gán vào Template String

Trong những chức năng hiển thị danh sách thì chúng ta sẽ lặp dữ liệu và gán các giá trị vào ở mỗi vòng lặp.

Lặp đơn giản

Ví dụ dưới đây lặp danh sách domain và gán vào template.

var domains = [
    'freetuts.net',
    'facebook.com',
    'google.com'
];

// Loop
domains.map(function(domain, key){
    console.log(`<h1>${domain}</h1>`);
});

Kết quả:

Lặp phức tạp

Trên là ví dụ lặp một mảng đơn giản, bây giờ ta sẽ lặp môt mảng chứa các đối tượng vì trong thực tế khi bạn lấy dữ liệu từ database thì nó sẽ trả về một mảng các record.

var domains = [
    {
        domain : "freetuts.net",
        author: "Nguyen Van Cuong"
    },
    {
        domain : "google.com",
        author: "Sergey Brin"
    }
];

// Loop
domains.map(function(domain, key){
    var tmpl = `
        <div>
            <h1>${domain.domain}</h1>
            <h2>${domain.author}</h2>
        </div>
    `;
    console.log(tmpl);
});

Kết quả:

Thật là vi diệu :) Vậy là từ nay không còn phải nối chuỗi nữa nhé.

3. Lời kết

Khi các bạn xây dựng các ứng dụng Ajax thì Ajax sẽ trả kết quả về là một mảng các Object (JSON), lúc này bạn sẽ phải lặp và nối chuỗi nhìn rất lộn xộn, vì  vậy ứng dụng Template String vào thì code sẽ rất là rõ ràng.

ES6 quá tuyệt vời phải không các bạn, không biết sau này ES7 ra đời sẽ còn nhiều thứ gì hấp dẫn hơn nữa :)

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Facebook để được hỗ trợ nhanh nhất.