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

Tìm hiểu cơ bản về Props trong VueJS

0 0 255

Người đăng: Salary Duong

Theo Viblo Asia

1. Props là gì?

Theo tài liệu của VueJS có viết:

Props are custom attributes you can register on a component. When a value is passed to a prop attribute, it becomes a property on that component instance.

Hiểu đơn giản đó là props là cách ta truyền dữ liệu giữa các components, từ component cha đến component con.

Trong bài này chúng ta sẽ xem xét một vài khái niệm về props trong VueJS

2. Cách định nghĩa 1 prop

Để 1 component định nghĩa 1 prop, thì nó phải được định nghĩa bên trong thuộc tính props

// Todo.vue <template> <p>Pending {{ task }}</p>
</template> <script>
export default { name: 'Todo', props: ['task']
}
</script>

3. Truyền dữ liệu bằng props

Để 1 component sử dụng được prop, thì ta có thể thêm vào đơn giản giống như thêm thuộc tính trong thẻ HTML:

<Todo task="Learn about Vue.js props"/>

Vậy điều gì sẽ xảy ra nếu bây giờ ta muốn truyền nhiều hơn 1 prop vào component. Đơn giản bạn làm như sau:

<template> <p>Pending {{ task }} at {{time}}</p>
</template> <script>
export default { name: 'Todo', props: ['task', 'time']
}
</script>

4. Prop types

Việc định nghĩa kiểu dữ liệu cho props là rất cần thiết vì khi dữ liệu prop truyền vào không trùng khớp với kiểu đã định nghĩa, Vue sẽ trả về lỗi ngay lập tức trong console

Để set prop types, bạn có thể liệt kê props giống như 1 object với prop names là keys và prop types là values.

props: { task: String, time: String, isCompleted: Boolean }

Để tìm hiểu sâu hơn về props cũng như VueJS, hãy truy cập trang docs của VueJS tại đây. Cảm ơn các bạn đã theo dõi.

Bình luận

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

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

Tôi đã tạo một custom hook trong Vue 3 thế nào?

Xin chào mọi nguời , mình là một coder vô danh kinh nghiệm chưa nhiều lần đầu viết bài nên bố cục , từ ngữ, kiến thức có chỗ chưa được đúng mong mọi người góp ý nhẹ tay ạ. . . .

0 0 239

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

asyncData và fetch trong Nuxt JS khác nhau như nào?

Mở đầu. Khi làm việc với NuxtJS chắc hẳn chúng ta đều sẽ nghe thấy đâu đó hai khái niệm này là fetch và asyncData. Vậy hai phương thức này nó giống nhau và khác nhau như nào? Khi nào nên sử dụng từng phương thức cho phù hợp. .

0 0 65

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

Tạo contact form đơn giản bằng VueJS và Firebase

1.Seting up Firebase. Truy cập vào firebase cloud console và tiến hành thiết lập project và đây sẽ là nơi lưu trữ database project của bạn. npm install firebase --save.

0 0 186

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

Tìm hiểu cơ bản về Vuex Store

1. Creating a Store.

0 0 63

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

Những kiến thức VueJs cơ bản [P1]

Xin chào mọi người. Trước mình cũng viết một số bài với chủ đề về VueJs rồi nhưng chưa đầy đủ, nay mình bắt đầu viết trọn bộ series kiến thức cơ bản về VueJs mong mọi người cùng đón đọc.

0 0 126

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

Vuejs và những kiến thức cần biết (P1)

1. Giới thiệu. Vuejs là một javascript framework giúp người dùng xây dựng giao diện người dùng. .

0 0 34