Asked Aug 12th, 1:24 a.m. 101 0 1
  • 101 0 1
+2

Truyền dữ liệu từ component Con lên component Cha không cần dùng emit trong Vue 3

Share
  • 101 0 1

Chào mọi người !!!

Mình có một thắc mắc là mình muốn truyển dữ liệu thì component con lên compent cha mà hiện tại trên docs của vue thì nó bảo chúng ta dùng emit.

Yeah cách này mình không nói

Mình cũng thứ áp dụng thì theo cách truyền props(kiểu như react) thì vẫn được - truyển props là 1 function rồi dưới còn gọi function đó

Mình muốn hỏi thì cái emit với props này khác nhau như thế nào ?

Mình có thể chọn 1 trong 2 để làm hay bắt buộc dùng emit hay emit có gì đó đặc biệt hơn không ạ?

Cảm on mọi người

1 ANSWERS


Answered Aug 12th, 3:10 a.m.
Accepted
+1

Câu hỏi này khá hay 👍 Trước giờ mình làm việc với công nghệ nào thì toàn mặc định follow theo docs của họ mà ít khi đặt câu hỏi tại sao, có lẽ do mindset của mình là ông tác giả viết ra framework/library nào thì họ đã nắm rõ bản chất, nguyên tắc để làm việc với đứa con của họ hơn 😅

Anyway, trên stackoverflow cũng có 1 câu hỏi tương tự bạn có thể tham khảo: https://stackoverflow.com/questions/50532260/vue-emitting-vs-passing-function-as-props

Tóm tắt đại ý các câu trả lời là: Bố thích thế nào thì viết thế đấy... jk 😂 Mỗi kiểu đều có pros and cons, nhưng khác biệt lớn nhất chỉ là về mặt semantic, dùng kiểu emit giúp bạn tách biệt flow rõ ràng so với kiểu props:

  • Props: cha -> con (chỉ truyền object/primitive types chứ ko truyền function)
  • Emit: cha <- con (emit function, giống như bạn dùng event onclick trên thẻ button vậy)

Nhưng đổi lại với kiểu props thì code sẽ tường minh hơn, vì bạn thấy được function mình truyền vào từ props được sử dụng như thế nào, dễ debug hơn.

Tùy project, preference của ông lead hoặc nếu bạn là lead thì cứ chọn 1 cái rồi cả team cùng follow thôi.

Share
Aug 12th, 6:02 a.m.

Nice

Thực ra thì em cũng mới học Vue và lúc này em cũng làm theo như hướng dẫn trên docs của họ

Vô tình em thử thì nó lại và nó works tốt.

Em cũng cảm nhận đúng là dùng kiểu emit giúp bạn tách biệt flow rõ ràng so với kiểu props

Em có hỏi mấy đứa làm vue mà cũng không để ý cái này.

Thanks anh nhé

+1
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.