- vừa được xem lúc

[P5] VueJS - Một vài Interpolations khác trong Vue

0 0 49

Người đăng: Tuấn Lê

Theo Viblo Asia

Ở bài viết trước, mình đã nói về một vài keyword trong Vue như v-if, v-else, v-show, v-for, ... Chúng thực chất là các syntax đặc biệt của Vue để thao tác linh hoạt với các DOM ảo, được gọi là Interpolations. Ngoài ra, Vue còn các Interpolations khác.

1. Text

Mục đích của nó thì đã quá rõ ràng, hiển thị text theo một cú pháp gọi là mustache. Đây là một ví dụ đơn giản :

<h1>Text : {{ msg }}</h1>

Với ví dụ này, text của chúng ta sẽ được hiển thị theo giá trị của biến msg. Nếu biết msg thay đổi thì dòng text hiển thị cũng sẽ được thay đổi theo. Tuy nhiên thì cũng có cách để biến msg chỉ được binding một lần :

<h1 v-once>Text : {{ msg }}</h1>

Ngoài ra chúng ta cũng có thể sử dụng các biểu thức javascript ở đây :

{{ number + 1 }} {{ ok ? 'YES' : 'NO' }} {{ message.split('').reverse().join('') }}

2. Một vài Directive thường dùng

Các directive là các thuộc tính đặc biệt của vue với prefix là v-<tên directive> như v-if, v-for, ... Ngoài các directive đã được nêu ở bài viết trước, chúng ta sẽ tìm hiểu thêm v-bindv-on.

v-bind: dữ liệu sẽ được ràng buộc sự thay đổi của nó với variable. Ví dụ:

<a v-bind:href="url"> ... </a>
Cú pháp rút gọn
<a :href="url"> ... </a>

Như vầy, giá trị của href sẽ được thay đổi theo url, v-bind sẽ biến nó thành một thuộc tính động, tùy ý thay đổi theo mục đích của chúng ta.

v-on: Với javascript, để bắn sự kiện onclick của một button chúng ta làm như sau :

document.getElementById('demo').onclick = function changeContent() { console.log('ABC')
}

Với Vue, chúng ta có v-on để xử lý các event

<a v-on:click="doSomething"> ... </a>
Cú pháp rút gọn
<a @click="doSomething"> ... </a>

Chúng t cũng có thể sử dụng v-on với các event khác như: submit, keydown, keypress, ...

3. Form Directive

Việc thao tác nhập liệu với form là một việc gần như chúng ta luôn phải làm. Vậy, xử lý form với Vue thì có gì khác biệt.

<input v-model="message" placeholder="Nhập thông điệp">
<p>Thông điệp: {{ message }}</p>

v-model cũng giống như v-bind sẽ ràng buộc dữ liệu của chúng ta với variable tương ứng. Tuy nhiên, v-model chỉ sử dụng cho form, và v-model sẽ binding 2 chiều dữ liệu, có nghĩa là khai chúng ta nhập giá trị vào ô input thì value cũng sẽ thay đổi theo và tự động gán vào biến. Trong thực tế, v-model được sử dụng thường xuyên và khá nhiều trong các ứng dụng thực tế. Chúng ta cũng có thể sử dụng v-model với các thuộc tính đặc biệt như sau :

<!-- được đồng bộ sau sự kiện "change" thay vì "input" -->
<input v-model.lazy="msg" >
<!-- tự động convert data thành kiểu number -->
<input v-model.number="age" type="number">
<!-- loại bỏ khoảng trắng trước và sau giá trị -->
<input v-model.trim="msg">

Ngoài ra, mình nghĩ các bạn có thể tham khảo thêm tại đây

Bình luận

Bài viết tương tự

- vừa được xem lúc

Ví dụ CRUD với Laravel và Vuejs.

1. Cài đặt Laravel. composer create-project --prefer-dist laravel/laravel vuelaravelcrud. .

0 0 141

- vừa được xem lúc

Bài 1: Cài đặt Vue và chạy chương trình Hello world đầu tiên

Ở bài đầu tiên này mình sẽ hướng dẫn các bài cài đặt VueJS vào project Laravel, sau đó chúng ta sẽ cùng xem những thứ cơ bản của Vue nhé. Vì Laravel đã hỗ trợ tích hợp VueJS nên việc cài đặt của chúng ta sẽ hết sức đơn giản.

0 0 125

- vừa được xem lúc

Lazy loading and code splitting in Vue.js

Việc giữ cho ứng dụng của bạn tải nhanh ngày càng khó hơn. Trong loạt bài này, tôi sẽ đi sâu vào các kỹ thuật tối ưu hiệu suất Vue và bạn có thể sử dụng trong các ứng dụng Vue.

0 0 103

- vừa được xem lúc

Validating Vue.js Forms Using Vuelidate

Introduction. Validate thông tin đầu vào trên các ứng dụng web là rất quan trọng.

0 0 201

- vừa được xem lúc

5 Good Practices mình đang sử dụng trong Vuejs

Mở đầu. Mình đã sử dụng vuejs được cũng được 1 năm trở lại đây.

0 0 87

- vừa được xem lúc

12 best practices với VueJS

Giới thiệu. Xin chào tất cả các bạn, hôm nay mình sẽ giới thiệu với các bạn một số lưu ý khi coding vuejs. Không dài dòng nữa mình bắt đầu luôn nhé. Vì sao cần phải sử dụng :key , vì nó sẽ giúp giữ lại các state của component.

0 0 183