Vì các truy vấn Apollo bị ràng buộc với thành phần của bạn, chúng sẽ tuân theo vòng đời của các thành phần của bạn, tức là nếu tuyến đường của bạn thay đổi (các thành phần khác nhau được kết xuất), các thành phần cũ của bạn sẽ bị xóa và do đó các truy vấn cũ của bạn cũng sẽ bị xóa.
Điều này được chăm sóc trong Vue apoche bởi mixin này .
Hãy xem phần sau:
export function installMixin (Vue, vueVersion) {
Vue.mixin({
// Other irrelevant code for this question
destroyed: destroy,
})
}
Điều này có nghĩa là nó liên kết với sự kiện 'bị phá hủy' của từng thành phần Vue, sau đó sẽ kích hoạt chức năng hủy (như được xác định bởi tham chiếu API Vue ):
function destroy () {
if (this.$_apollo) {
this.$_apollo.destroy()
}
}
Vì vậy, quá trình này đảm bảo các truy vấn của bạn bị hủy và không còn hiệu lực nữa khi thành phần của bạn bị hủy.
tôi mong bạn trả lời câu hỏi này