VUE가 오류가 발생하기 쉬운 지점
이번에는 VUE에서 실수하기 쉬운 포인트를 알려드리겠습니다. VUE를 사용할 때 실수하기 쉬운 노트는 무엇인지 살펴보겠습니다.
vue는 이제 다크호스입니다, github 별 개수가 1위를 차지했습니다! Vue는 프런트엔드 개발에서 점점 더 많이 사용되고 있으며, 여기서는 Vue의 장점을 소개하지 않습니다. 이 글은 모든 사람이 함정을 피하는 데 도움이 되도록 Vue를 사용하는 과정과 일부 커뮤니티 친구들이 묻는 질문을 요약한 것입니다. 마음에 드셨다면 좋아요나 팔로우를 눌러주세요. 이 글이 모두에게 도움이 되었으면 좋겠습니다!
1. 라우팅 변경 페이지 데이터가 새로 고쳐지지 않습니다
이러한 상황은 생성된라이프 사이클에서 종속 경로의 매개변수를 가져오고 작성하기 때문에 발생합니다. 동일한 경로가 두 번 또는 여러 번 로드되기 때문에 페이지를 종료하고 다른 기사 페이지로 들어갈 수 없습니다. 생성된 구성 요소를 실행합니다. 라이프 사이클은 기사 데이터가 여전히 처음 입력되었음을 의미합니다.
해결책: 경로가 변경되는지 모니터링하십시오.
rreee2. 비동기 콜백 함수에서 이것을 사용하면 vue 인스턴스 객체
watch: { // 方法1 '$route' (to, from ) { //监听路由是否变化 if ( this .$route. params .articleId){ // 判断条件1 判断传递值的变化 //获取文章数据 } } //方法2 '$route' (to, from ) { if (to.path == "/page" ) { /// 判断条件2 监听路由名 监听你从什么路由跳转过来的 this .message = this .$route.query.msg } } }
를 가리킬 수 없습니다. 해결책: 변수 할당 및 화살표 기능. (참고: var와 let의 차이점: http://www.jb51.net/article/134704.htm)
//setTimeout/setInterval ajax Promise等等 data(){ return { ... } }, methods (){ setTimeout( function () { //其它几种情况相同 console.log( this ); //此时this指向并不是vue实例 导致操作的一些ma'f }, 1000 ); }
3.setInterval 경로 점프가 계속 실행되며 시간이 지나도 파괴되지 않습니다
예를 들어, 일부 포격 및 회전 텍스트는 정기적으로 호출해야 합니다. 경로 점프 후 구성요소는 파괴되었지만 setInterval은 아직 파괴되지 않았고 백그라운드 호출이 계속 진행되기 때문에 콘솔은 계속해서 오류를 보고합니다. 계산량이 많은 경우 제때에 삭제하지 않으면 심각한 페이지 정지 현상이 발생합니다.
해결 방법: Destroy
//使用变量访问this实例 let self = this ; setTimeout( function () { console.log( self ); //使用self变量访问this实例 }, 1000 ); //箭头函数访问this实例 因为箭头函数本身没有绑定this setTimeout(() => { console.log( this ); }, 500 );
전에 구성 요소 수명 주기에서 setInterval을 중지하세요. 4.vue 스크롤 동작 사용법, 경로를 입력하려면 브라우저 하단, 헤드 등으로 스크롤해야 합니다.
프런트 엔드 라우팅을 사용하면 새 경로로 전환할 때 페이지를 다시 로드하는 것처럼 페이지가 위로 스크롤되거나 원래 스크롤 위치를 유지하기를 원합니다. vue-router가 이를 수행할 수 있지만 경로를 전환할 때 페이지 스크롤 방법을 사용자 정의할 수 있는 것이 더 좋습니다. 참고: 이 기능은 History.pushState를 지원하는 브라우저에서만 사용할 수 있습니다.
라우팅 설정은 다음과 같습니다. (자세한 내용은 여기를 클릭하세요: https://router.vuejs.org/zh-cn/advanced/scroll-behavior.html)
//组件销毁前执行的钩子函数,跟其他生命周期钩子函数的用法相同。 beforeDestroy(){ //我通常是把setInterval()定时器赋值给this实例,然后就可以像下面这么停止。 clearInterval( this .intervalId); },
5. 브라우저의 요구 사항을 가로채고 초안 저장 등과 같은 일련의 작업을 수행하는 vue 라우팅을 구현합니다. 시나리오: 사용자가 실수로 닫기 버튼 등을 클릭하여 입력한 정보(핵심 정보)가 저장되지 않는 것을 방지하기 위해.
사용법:
const router = new VueRouter ({ mode: 'history' , scrollBehavior (to, from , savedPosition) { if (savedPosition) { //如果savedPosition存在,滚动条会自动跳到记录的值的地方 return savedPosition } else { return { x: 0 , y: 0 } //savedPosition也是一个记录x轴和y轴位置的对象 } }, routes: [...] })
beforeEach 및 beforeRouteUpdate와 같은 수명 주기 기능도 있습니다. 자세한 내용을 보려면 여기를 클릭하세요: https://router.vuejs.org/zh-cn/advanced/navigation-guards.html
6.v-once는 요소와 구성 요소를 한 번만 렌더링하여 렌더링 성능을 최적화하고 업데이트합니다 v-once 명령은 모든 사람이 거의 사용하지 않는다고 생각하지만 개인적으로는 상당히 실용적이라고 생각합니다!
요소와 구성 요소는 한 번만 렌더링됩니다. 이후에 다시 렌더링할 때 요소/구성 요소와 모든 하위 요소는 정적 콘텐츠로 처리되어 건너뜁니다. 이는 업데이트 성능을 최적화하는 데 사용될 수 있습니다.
여기서는 예를 들지 않겠습니다. 여기를 클릭하세요: v-once (https://cn.vuejs.org/v2/api/#v-once)
7. Vue 로컬 프록시 구성은 개발 환경으로 제한된 도메인 간 문제를 해결합니다 이 로컬 프록시는 개발 환경에서 도메인 간 문제를 해결하는 데 사용됩니다. vue에서 프록시를 구성하는 것은 매우 간단합니다. 이 기사의 사례를 읽은 후 방법 등이 얼마나 흥미로웠는지, PHP 중국어 웹사이트의 다른 관련 기사도 주목해 주세요!
추천 도서:
vue는 현재 선택한 항목의 상태를 변경합니다
vue 더 나은 스크롤 스크롤 플러그인 사용법 자세한 설명
위 내용은 VUE가 오류가 발생하기 쉬운 지점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

이 기사는 소스 맵을 사용하여 원래 코드에 다시 매핑하여 미니어링 된 JavaScript를 디버그하는 방법을 설명합니다. 소스 맵 활성화, 브레이크 포인트 설정 및 Chrome Devtools 및 Webpack과 같은 도구 사용에 대해 설명합니다.

Console.log 출력의 차이의 근본 원인에 대한 심층적 인 논의. 이 기사에서는 Console.log 함수의 출력 결과의 차이점을 코드에서 분석하고 그에 따른 이유를 설명합니다. � ...

엔트리 레벨 타입 스크립트 자습서를 마스터 한 후에는 TypeScript를 지원하고 JavaScript로 컴파일하는 IDE에서 자신의 코드를 작성할 수 있어야합니다. 이 튜토리얼은 TypeScript의 다양한 데이터 유형으로 뛰어납니다. JavaScript에는 NULL, UNDEFINED, BOOLEAN, 번호, 문자열, 기호 (ES6에 의해 소개 됨) 및 객체의 7 가지 데이터 유형이 있습니다. TypeScript는이 기반으로 더 많은 유형을 정의 하며이 튜토리얼은이 모든 튜토리얼을 자세히 다룹니다. 널 데이터 유형 JavaScript와 마찬가지로 Null in TypeScript
