Emit Là Gì

  -  

Trong nội dung bài viết này, bọn họ thuộc mày mò Emit events tự những components nhỏ trong Vue, tương tự như những events từ các components nhỏ lồng nhau. Chúng ta vẫn làm cho toàn bộ điều đó trong những khi rời một mô hình anti-pattern phổ cập cơ mà các bên phát triển Vue thường làm cho.Quý khách hàng vẫn xem: Emit là gì

Một khái niệm chính yếu phía sau không ít fameworks và thư viện JavaScript là kỹ năng đóng gói tài liệu cùng giao diện người tiêu dùng phía bên trong các nguyên tố mô-đun hoàn toàn có thể tái sử dụng. Như vậy thật hay Lúc giúp công ty trở nên tân tiến tránh tái diễn các đoạn mã vào cục bộ áp dụng. Tuy nhiên, trong lúc khả năng cất chức năng bên trong của một components là tuyệt vời, một components hay đã nên những cách để rất có thể giao tiếp với components phía bên ngoài hoặc ví dụ rộng là với các components khác.

Bạn đang xem: Emit là gì

Chúng ta có thể gửi tài liệu xuống xuất phát từ 1 component thiết yếu trải qua những ở trong tính. Đây thường là 1 định nghĩa tương đối dễ dàng và đơn giản nhằm nắm bắt. Nhưng phần đa gì có thể xay ra về vấn đề gửi tài liệu xuất phát điểm từ 1 component con sao lưu lại đến components thân phụ của nó?

Tại Vue, thuở đầu bọn họ gặp một chút khó khăn Lúc đưa ra phương pháp thực hiện điều này đa phần bởi vì họ Cảm Xúc rằng tư liệu của Vue không bao gồm vấn đề này hoặc hoàn toàn có thể xử lý vấn đề này 1 cách triệt nhằm cùng Emit data chắc rằng rất có thể giải quyết sự việc này.

1.Thiết lập

Chúng ta đang sử dụng Vue CLI nhằm mau lẹ thiết lập cấu hình một số trong những mã biên soạn sẵn, cũng giống như toàn bộ phần đa máy xuất xắc ho không giống nhưng nó đưa về, ví dụ như thiết lập lại mô-đun, tự động hóa biên dịch, v.v.

Chúng ta sẽ cố gắng không dành riêng rất nhiều thời gian để thiết lập, bởi giữa trung tâm làm việc đây là chỉ cho bạn biện pháp phát Emit data, gắng vày chỉ cho mình phương pháp tùy chỉnh thiết lập từng bước một của ứng dụng Giỏ hàng.

Xem thêm: Hiện Đang Có Lỗi Không Xác Định Xảy Ra Trong Quá Trình Đăng Nhập


*

2.Event Emit là gì?

3. Làm chũm như thế nào nhằm Emit data từ là 1 Child Component

Bất cđọng lúc nào người tiêu dùng nhấp vào nút ít Thêm vào giỏ hàng , bọn họ mong mục được kể sẽ được chế tạo giỏ mặt hàng của bọn họ. Như vậy nghe có vẻ đơn giản dễ dàng. Điều bọn họ cũng cần được đừng quên, với cùng một áp dụng dựa vào component, từng món đồ trong cửa hàng là yếu tố riêng của chính nó (thương hiệu của component sinh hoạt đấy là Shop-Item). lúc chúng ta nhấp vào nút ít bên phía trong Shop-Item.vue, nó bắt buộc emit lại dữ liệu về component phụ vương của nó nhằm giỏ sản phẩm được cập nhật.

trước hết ta tất cả đoạn code sau:

!-- Shop-Item.vue -->template> div class="Item"> img :src="https://tuongthan.vn/vật phẩm.imageSrc" :alt="cửa nhà.name" class="ItemImage"> div class="ItemDetails"> p>strong>tòa tháp.name/strong>/p> p>Price: strong>$thành phầm.price/strong>/p> /div> button class="Button" click="addToCart(item)">Add To Cart/button> /div>/template>script> export mặc định name: "Shop-Item", props: , data() return , methods: addToCart(item) this.$emit("update-cart", item) /script>style>/style>!-- App-Item.vue -->template> div id="app"> section class="Header"> h1 id="Fruiticious!">Fruiticious!/h1> !-- Cart component --> shop-cart :cart="this.cart" :total="this.total" empty-cart="emptyCart"> /shop-cart> /section> !-- Item component --> shop-nhà cửa v-for="cống phẩm in this.items" :item="item" :key="thành công.id" update-cart="updateCart"> /shop-item> /div>/template>script> export default name: "app", data() return items: , cart: , total: 0 , methods: updateCart(e) this.cart.push(e); this.total = this.shoppingCartTotal; , emptyCart() this.cart = ; this.total = 0; , /script>Cùng đi cụ thể hơn tới những sự kiện được đề cùa tới.

Chúng ta có một Button vào Shop-Item.vue:

button class="Button" click="addToCart(item)">Add To Cartbutton>Mỗi mặt hàng trong shop (Banamãng cầu, Orange, Apple) đều sở hữu một nút ít này. Khi nó được cliông xã vào thì sự khiếu nại click="addToCart(item) của họ được kích hoạt. Bạn hoàn toàn có thể thấy rằng nó mang sản phẩm làm tsay đắm số (đấy là toàn thể đối tượng người dùng thành công đã có truyền vào dưới dạng prop.) Khi nhận button, nó vẫn kích hoạt tác dụng addToCart:

addToCart(item) this.$emit("update-cart", item)Chúng ta thấy rằng tác dụng này thực hiện this.$emit. Điều đó tức là gì? Vâng, đơn giản chỉ cần Emit data là gửi một dấu hiệu. Trong ngôi trường vừa lòng này, dấu hiệu là "giỏ sản phẩm cập nhật", được gửi bên dưới dạng một chuỗi. Vì vậy, về cơ phiên bản,this.$emit rước một string tsi mê số đầu tiên của chính nó. Nó cũng có thể gật đầu đồng ý một tham số trang bị nhì, thường xuyên sẽ sở hữu được dạng một số trong những dữ liệu cơ mà họ mong mỏi gửi cùng rất nó. Đây hoàn toàn có thể là một chiếc khácstring, một integer, một vươn lên là, mộtarray, hoặc trong ngôi trường vừa lòng của họ, một object.

Xem thêm: Ưu Điểm Của Ddc Là Gì ? Lập Trình Điều Khiển Ddc

Nhưng kế tiếp làm vậy làm sao để gửi những string "update-cart" thông báo component cha của họ hiểu được rằng shopping cart được cập nhật?

shop-thành tích v-for="tòa tháp in this.items" :item="item" :key="item.id" update-cart="updateCart">shop-item>Chúng ta thấy rằng tại đây bạn nghe sự kiện thiết lập của chúng ta đã chờ đón update-cart được kích hoạt. Và làm cho cố làm sao để biết khi nào điều đó xảy ra? lúc chuỗi"update-cart"được phạt ra từ phía bên trong Shop-Item.vue!

Cuối thuộc là hiện thời hãy xem điều gì xẩy ra khi trình update-cart lắng tai sự khiếu nại này và kích hoạt công dụng update cart:

updateCart(e) this.cart.push(e); this.total = this.shoppingCartTotal; Điều này chỉ đơn giản và dễ dàng là rước một tmê man số sự khiếu nại và đẩy nó vào mảngthis.cart. Sự kiện nhưng mà nó mất chỉ đơn giản và dễ dàng là mục nhưng lúc đầu chúng ta đặt vào làm cho tsay mê số lắp thêm nhị Khi bọn họ call this.$emit. Bạn cũng có thể thấy rằng this.totalmmnó cũng khá được cập nhật để trả về công dụng của hàm this.shoppingCartTotal.bởi thế, kia là 1 cách đối chọi nhằm bọn họ Emit data xuất phát từ một component con mang đến những components phụ vương.