# Parameters khác Props thế nào?

Chọn nơi lưu nội dung của mẫu và nơi nhận dữ liệu cho từng lần tạo tài liệu.

Khi chỉnh mẫu, bạn sẽ gặp cả **Props** và **Parameters**. Hai phần này cùng đưa giá trị vào nội dung, nhưng phục vụ hai việc khác nhau: một phần giữ những gì thuộc về mẫu, phần còn lại nhận dữ liệu cho mỗi lần tạo tài liệu.

Tách đúng từ đầu giúp bạn sửa thiết kế ở một nơi và dùng lại mẫu với nhiều bộ dữ liệu, thay vì phải mở editor để đổi nội dung mỗi lần chạy.

## 1. Chọn nơi lưu giá trị

Dùng **Props** cho giá trị bạn muốn lưu cùng mẫu, như tiêu đề, nhãn, màu hoặc logo. Dùng **Parameters** cho dữ liệu được truyền vào mỗi lần chạy, như người nhận, mã tham chiếu hoặc danh sách các mục.

| Giá trị | Nơi phù hợp |
| --- | --- |
| Nhãn “Người nhận” | Prop của section đang hiển thị nhãn. |
| Tên người nhận | Parameter. |
| Màu hoặc logo dùng ở nhiều phần | Global prop. |
| Danh sách các mục cần trình bày | Array parameter. |
| Một nhãn có bản Việt/Anh | Prop có giá trị riêng theo variant. |

<figure class="doc-sim data-assets-illustration" aria-label="Props lưu cùng mẫu · Parameters nhận dữ liệu khi chạy">
<div class="sim-stage"><div class="ds-columns"><div class="sim-panel"><div class="ds-head"><strong>Props</strong></div><div class="sim-prop-card ds-field"><div class="sim-prop-name"><b>heading</b><span class="ds-type">Text <svg class="sim-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="m4 6 4 4 4-4" /></svg></span></div><div class="sim-prop-value"><small class="sim-label">VALUE</small><span class="sim-input sim-focus">Tiêu đề tài liệu</span><span class="sim-embed">{{ props.heading }}</span></div></div></div><div class="sim-panel"><div class="ds-head"><strong>Parameters</strong></div><div class="sim-prop-card ds-field"><div class="sim-prop-name"><b>recipient</b><span class="ds-type">Text <svg class="sim-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="m4 6 4 4 4-4" /></svg></span></div><div class="sim-prop-value"><small class="sim-label">DEFAULT</small><span class="sim-input">Tembuilder</span><span class="sim-embed">{{ params.recipient }}</span></div></div></div></div></div>
<figcaption>Props lưu cùng mẫu · Parameters nhận dữ liệu khi chạy</figcaption>
</figure>

## 2. Props thuộc phần đang chỉnh

Trong **Structure**, chọn section, Header hoặc Footer rồi mở **Props**. Bấm **Add prop** để thêm giá trị mới. Các kiểu có sẵn gồm Text, Number, Boolean, Array, Object, Color và Asset.

Trong HTML của phần đó, đọc prop bằng `{{ props.heading }}`. Với prop dùng chung ở Global, dùng `{{ global.props.tenProp }}`.

Cùng một tên prop có thể xuất hiện ở các section khác nhau. Khi sửa, hãy nhìn tên section phía trên danh sách Props để biết bạn đang đổi giá trị của phần nào.

<figure class="doc-sim data-assets-illustration" aria-label="Chọn section để sửa Props của phần đó">
<div class="sim-stage"><div class="ds-path">Structure → Section → Props</div><div class="sim-panel"><div class="ds-head"><strong>Section</strong><span class="sim-control">＋ Add prop</span></div><div class="sim-prop-card ds-field"><div class="sim-prop-name"><b>heading</b><span class="ds-type">Text <svg class="sim-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="m4 6 4 4 4-4" /></svg></span></div><div class="sim-prop-value"><small class="sim-label">VALUE</small><span class="sim-input sim-focus">Tiêu đề tài liệu</span><span class="sim-embed">{{ props.heading }}</span></div></div></div></div>
<figcaption>Chọn section để sửa Props của phần đó</figcaption>
</figure>

## 3. Parameters là dữ liệu cho mỗi lần chạy

Mở **Parameters → Schema** để khai báo tên trường, kiểu và giá trị mặc định. Sau đó dùng `{{ params.recipient }}` trong HTML để đọc trường `recipient`.

Bạn có thể xem object dữ liệu trong tab **Payload**, rồi dùng cấu trúc đó khi nhập dữ liệu ở **Run**. Khi truyền một giá trị mới, bạn đang thay dữ liệu của lần chạy, không đổi prop đã lưu trong mẫu.

Xem [Khai báo dữ liệu đầu vào](/docs/vi/data/parameters/) để thêm các trường cho mẫu.

<figure class="doc-sim data-assets-illustration" aria-label="Parameters → recipient → params.recipient">
<div class="sim-stage"><div class="sim-panel"><div class="ds-head"><strong>Parameters</strong><span class="sim-control">＋ Add</span></div><div class="sim-tabs"><span class="sim-active">Schema</span><span>Payload</span></div><div class="sim-prop-card ds-field"><div class="sim-prop-name"><b>recipient</b><span class="ds-type">Text <svg class="sim-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="m4 6 4 4 4-4" /></svg></span></div><div class="sim-prop-value"><small class="sim-label">DEFAULT</small><span class="sim-input sim-focus">Tembuilder</span><span class="sim-embed">{{ params.recipient }}</span></div></div></div><div class="ds-link-arrow">↓</div><div class="ds-code"><code>{ "recipient": "Tembuilder" }</code></div></div>
<figcaption>Parameters → recipient → params.recipient</figcaption>
</figure>

## 4. Kết hợp trong HTML

Ví dụ, `heading` là prop lưu tiêu đề của section, còn `recipient` là parameter nhận tên người đọc:

```handlebars
<h1>{{ props.heading }}</h1>
<p>{{ params.recipient }}</p>
```

Đổi `heading` trong Props khi muốn sửa tiêu đề của mẫu. Gửi `recipient` khác khi muốn dùng lại cùng thiết kế cho một người nhận mới.

Nếu cần nhiều cách đặt nhãn hoặc màu cho cùng mẫu, xem [Biến thể của template](/docs/vi/data/variants/).

<figure class="doc-sim data-assets-illustration" aria-label="Nhãn của mẫu và dữ liệu đầu vào cùng xuất hiện trong tài liệu">
<div class="sim-stage"><div class="ds-flow"><div class="ds-code sim-focus"><code>&lt;h1&gt;{{ props.heading }}&lt;/h1&gt;</code><code>&lt;p&gt;{{ params.recipient }}&lt;/p&gt;</code></div><span class="ds-flow-arrow">→</span><div class="ds-paper"><small>Tembuilder</small><strong>Tiêu đề tài liệu</strong><div><p>Tembuilder</p></div><div class="ds-lines"><i></i><i></i><i></i></div></div></div></div>
<figcaption>Nhãn của mẫu và dữ liệu đầu vào cùng xuất hiện trong tài liệu</figcaption>
</figure>

Xem [Cú pháp Handlebars](/docs/vi/data/handlebars/) để dùng điều kiện, scope, escape và các ví dụ nâng cao.
