Vue는 짧은 시간 동안 연속으로 클릭한 후 여러 번 요청이 발생하는 것을 방지합니다.
<el-button @click="throttle()"> </el-button>
export default {
data(){
return {
lastTime:0 // 0
}
}
}
methods:{
throttle(){
//
let now = new Date().valueOf();
//
if(this.lastTime == 0){
console.log(' ');
this.lastTime = now;
}else{
if((now-this.lastTime) > 2000){
// ,2000 2 ,
this.lastTime = now;
console.log(' 2 , ');
//
}else{
console.log(' ');
}
}
},
}
이런 방법은 좋지만 요청 시간 초과가 발생하면 처리하기가 쉽지 않을 수도 있습니다 (네트워크 원인, 데이터가 너무 큽니다).백엔드를 통해res를 되돌려줄지 여부를 고려합니다.방법은 아직 향상되어야 한다!참고용~보충 지식: vuex에서module가 너무 많을 때 하나하나 도입해야 하는 문제 해결
프로젝트 개발에서 vuex를 사용하면 프로젝트가 너무 크면 vuex는 모듈화되어야 하지만 모듈이 너무 많으면store의 index가 필요합니다.js에서 하나하나 도입하는 것은 너무 번거롭다. 그래서 웹팩에서 설정이 나왔는데 이 문제를 해결할 수 있다. 여러 번 도입할 필요가 없다. 게으른 암 환자의 복음,
다음은 솔루션
import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
Vue.use(Vuex)
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {})
const store = new Vuex.Store({
modules,
getters
})
export default store
이것을 설정하면 모듈을 하나하나 도입할 필요가 없다.위의 Vue는 짧은 시간 동안 연속으로 클릭한 후 여러 번 요청을 트리거하는 것을 방지하는 동작이 바로 여러분에게 공유된 모든 내용입니다. 여러분에게 참고가 될 수 있기를 바라며 많은 응원을 부탁드립니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue Render 함수로 DOM 노드 코드 인스턴스 만들기render에서createElement 함수를 사용하여 DOM 노드를 만드는 것은 직관적이지 않지만 일부 독립 구성 요소의 디자인에서 특수한 수요를 충족시킬 수 있습니다.간단한 렌더링 예는 다음과 같습니다. 또한 v...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.