您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關使用JavaScript怎么實現一個父組件的請求服務,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
<template> <div class = 'car_list' reft='scrollobx' @scroll='scrollready($event)'> </div> </template> <script> export default { data() { return { lengthThreshold: 50, //當滑動到距離低端50px時,更新數據 timeThreshold: 300, promise: null } }, methods: { // 滾動加載列表 scrollready() { if(this.shouldScroll()) { if (this.promise) { return; } // 進行加載 this.fn(); // 防止多次滑動,頻繁請求后臺資源 let self = this; this.promise = setTimeout(() => { self.promise = null; }, this.timeThreshold); } }, // 調用父組件請求資源服務 fn() { this.$emit('scrollChange'); }, shouldScroll() { if(document.scrollTop === 0) {// 滑動距離為0,還沒開始滑動 return false; }<br data-filtered="filtered"> // 列表高度 - 列表可視高度 - 滑動的高度 < 50px , 則加載更多 return this.$refs.scrollbox.scrollHeight - this.$refs.scrollbox.clientHeight - this.$refs.scrollbox.scrollTop < this.lengthThreshold; }, } } </script>
父組件的請求服務方法:
queryCarApplyShareList() { this.Load = true; CarResources.methods.queryCarApplyShareList(this.http, this.pageNo, this.pageSize).then((res) => { if (res && res.status === 200) { if (this.pageNo === 1) { // 加載第一頁數據 this.CarList = res.data || []; } else { // 加載更多 this.CarList = <strong>this.CarList.concat(res.data);</strong> } this.IsLastPage = res.data.length === 0 } this.Load = false; }, () => { this.Load = false; console.log('接口報錯'); }); },
關于使用JavaScript怎么實現一個父組件的請求服務就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。