Vue Class and Style Bindings

Tram Ho

Nhu cầu phổ biến đối với liên kết dữ liệu là thao tác danh sách lớp của một phần tử và các kiểu nội tuyến của nó. Vì cả hai đều là thuộc tính nên chúng ta có thể sử dụng v-bind để xử lý chúng: chúng ta chỉ cần tính toán một chuỗi cuối cùng với các biểu thức của chúng ta. Tuy nhiên, việc can thiệp vào việc nối chuỗi rất khó chịu và dễ xảy ra lỗi. Vì lý do này, Vue cung cấp các cải tiến đặc biệt khi v-bind được sử dụng với class và style. Ngoài chuỗi, các biểu thức cũng có thể đánh giá các đối tượng hoặc mảng.

Binding HTML Classes

Trong quá trình phát triển bạn muốn thêm một class vào trong một thẻ HTML với một điều kiện nào đó xảy ra. Khi đó Vue có thể giúp bạn làm điều này rất dễ dàng.

Cú pháp dạng đối tượng

BẠn có thể chuyển một đối tượng tới v-bind: class để sử dụng động các lớp:

Ta thu được

Ở ví dụ trên ta thấy được class active được thêm vào, do ta dùng v-bind:class khai báo biến isActive giá trị mặc định là true với điều kiện dùng mặc định là true { active: isActive } hoăc ta cũng có thể dùng { active: isActive == true } . Ở phần HTML ta có đoạn text trên sẽ hiển thị màu đỏ do có class active .

Khi cần bind nhiều class thì các bạn làm như sau nhé

Data:

Ta Thu được

Ta có thể truyền một object vào :class như sau:

Kết quả đạt được

Các class được bind khi có giá trị true

Cú pháp dạng mảng

Chúng ta có thể truyền một mảng cho v-bind: class để áp dụng một danh sách các lớp:

data

Kết quả thu được

  • Bạn có chuyển đổi một lớp trong danh sách một cách có điều kiện, bạn có thể làm điều đó với biểu thức bậc ba:

  • Bạn cũng có thể dùng

data

Kết quả thu được

Binding Inline Styles

Cú pháp đối tượng

html

Js

Ta dùng với 1 đối tượng để gọn gàng hơn

JS

Kết quả thu được đều như nhau

Cú pháp dạng mảng

Ta có thể dùng pháp mảng cho v-bind: style cho phép bạn áp dụng nhiều đối tượng kiểu cho cùng một phần tử: html

Js

Bài này khá đơn giản giúp bạn có thể bind các thẻ HTML khi render tuỳ vào các điều kiện nhất định. Mong rằng các bạn có thể hiểu được sau đó tự mình bind theo các cách riêng của mỗi mục địch khác nhau.

Chia sẻ bài viết ngay