가속 vue 구성 요소 렌 더 링 성능 최적화
2560 단어 vue구성 요소 렌 더 링성능 최적화
평소에 vue 로 백 스테이지 관리 시스템 을 개발 할 때 대량의 table 라 는 구성 요 소 를 사용 해 야 합 니 다.정상 적 인 구성 요 소 는 프로젝트 에서 2 차 패 키 징 을 한 다음 에 표 두 title 에 대해 매개 변수 화 설정 을 합 니 다.다음 과 같 습 니 다.
export default {
data(){
return {
tableTitle:[
{
label:' ',
prop:'prop'
},
{
label:' ',
prop:'prop'
},
{
label:' ',
prop:'prop',
colconfig:[
{
label:' ',
prop:'prop'
}
]
}
...
]
}
}
}
이때 table 필드 가 많 고 다 중 헤더 라면 데이터 구조 가 복잡 합 니 다.data 에 직접 쓰 면 구성 요소 가 초기 화 될 때 이 대상 을 재 귀적 으로 get set 속성 을 다시 씁 니 다.소스 코드 는 다음 과 같 습 니 다.
function defineReactive(obj,key,val) {
var dep = new Dep();
var property = Object.getOwnPropertyDescriptor(obj, key);
// , , get set
if (property && property.configurable === false) {
return
}
//observe defineReactive, get set
var childOb = !shallow && observe(val);
Object.defineProperty(obj, key, {
enumerable: true,
configurable: true,
get: function reactiveGetter () {
},
set: function reactiveSetter (newVal) {
}
});
}
그러나 이런 정적 데 이 터 는 동적 응답 이 필요 하지 않다.그러면 반드시 파도 성능 낭 비 를 초래 할 것 이다.그래서 우 리 는 이런 불필요 한 성능 낭 비 를 피 할 방법 을 강구 한다.프로젝트 1
이 때 우 리 는 Object.freeze()라 는 방법 으로 이 데 이 터 를 동결 할 수 있 습 니 다.vue 구성 요 소 는 data 의 속성 을 차단 할 때 동 결 된 대상 이 수정 할 수 없 는[상기 코드 주석]이 라 고 판단 하고 get set 작업 을 직접 건 너 뛰 면 vue 구성 요소 의 render 시간 을 낮 추고 페이지 성능 을 향상 시 킬 수 있 습 니 다.
export default {
data(){
return {
tableTitle:Object.freeze(objConfig)
}
}
}
방안 2동적 응답 이 필요 없 는 데 이 터 를 created 의 생명주기 에서 정의 하면 vue 밑바닥 에서 이 속성 을 차단 하지 않 습 니 다
export default {
created(){
this.tableTitle = [xxxxx]
}
}
총결산사실 이런 장면 은 개발 과정 에서 자주 볼 수 있다.예 를 들 어 조회 조건 에 selectlist 필드 가 많 기 때문에 우 리 는 이 를 큰 json 에 밀봉 한 다음 에 재 작성 속성 을 피 할 수 있 고 많은 성능 비용 을 낮 출 수 있다.
vue 구성 요소 렌 더 링 을 가속 화 하 는 성능 최적화 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 vue 구성 요소 렌 더 링 성능 최적화 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 저 희 를 많이 사랑 해 주세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.