Vue 개발 경험이 있는 사람들은 vue.use가 낯설지 않습니다. vue-resource 또는 vue-router와 같은 전역 구성 요소를 사용하는 경우 Vue.use 메서드를 통해 도입해야 작동합니다. 그렇다면 구성 요소가 도입되기 전에 vue.use는 정확히 무엇을 수행합니까?
먼저 vue.use 소스 코드로 이동
Vue.use = function (plugin) { /* istanbul ignore if */ if (plugin.installed) { return } // additional parameters var args = toArray(arguments, 1); args.unshift(this); if (typeof plugin.install === 'function') { plugin.install.apply(plugin, args); } else if (typeof plugin === 'function') { plugin.apply(null, args); } plugin.installed = true; return this };
Vue.use를 통해 플러그인 플러그인을 도입한다고 가정해 보겠습니다(플러그인은 일시적으로 변수나 매개변수로 이해될 수 있음). 즉, Vue.use(plugin );
먼저 들어오는 매개변수를 확인합니다. 플러그인에 설치된 속성이 존재하고 논리값이 true이면 바로 반환되고 후속 코드는 실행되지 않습니다. 이 판단의 역할은 무엇입니까? ? 나중에 그것에 대해 이야기하겠습니다.
먼저 설치된 플러그인 속성이 존재하지 않거나 false라고 가정하고 계속 실행합니다.
var args = toArray(arguments, 1)
toArray 메소드가 실행됩니다. toArray는 Vue.use 메소드에 의해 전달된 매개변수 세트를 받습니다. 예를 들어 Vue.use(a,b,c)의 경우 인수는 [a,b,c]와 유사합니다. (참고: 인수는 실제 배열이 아닌 배열과 유사합니다.)
여기서는 하나의 매개변수 플러그인만 도입하기 때문에 이므로 인수는 [plugin]과 유사합니다.
toArray의 기능은 무엇인가요? 소스코드를 보세요.
function toArray (list, start) { start = start || 0; var i = list.length - start; var ret = new Array(i); while (i--) { ret[i] = list[i + start]; } return ret }
toArray(arguments,1)를 실행하면 길이 = 인수.길이-1인 새 배열 ret가 생성되고, 그런 다음 ret에 인수 요소를 역순으로 할당하기 위해 while 루프가 수행됩니다.
따라서 인수에서 첫 번째 요소를 제외한 나머지 요소를 ret에 할당하는 것과 궁극적으로 동일합니다. toArray의 주요 기능은 클래스 배열을 실제 배열로 변환하여 배열 메서드를 호출할 수 있도록 하는 것입니다.
여기서는 플러그인 매개변수인 인수=[플러그인] 하나만 도입했기 때문에 toArray는 빈 배열 []을 반환합니다.
그런 다음 [].unshift(Vue)와 동일한 args.unshift(this)를 실행합니다. 즉, args = [Vue];
그런 다음
if (typeof plugin.install === 'function') { plugin.install.apply(plugin, args); } else if (typeof plugin === 'function') { plugin.apply(null, args); }
를 실행합니다. 여기서 의 설치 여부를 판단합니다. 플러그인이 함수인 경우, install 메소드에 의해 전달된 매개변수는 args의 배열 요소입니다. 즉, 설치에서 허용되는 첫 번째 매개변수는 Vue입니다.
플러그인의 설치 가 함수가 아닌 경우 플러그인 자체가 함수인지 확인합니다. 가 함수이면 플러그인 함수가 실행되고 매개변수는 args의 배열 요소입니다.
마지막으로plugin.installed를 true로 설정합니다. Plugin.installed를 true로 설정하는 목적은 동일한 플러그인이 여러 번 설치되는 것을 방지하기 위한 것입니다. 예를 들어 Vue.use(플러그인)가 한 번 실행된 후 다시 실행되면 installed가 반환됩니다. 첫 번째 판단 단계로 넘어갑니다.
요약하자면 Vue.use의 기능은 실제로 플러그인 기능을 실행하거나 플러그인의 설치 메소드를 실행하여 플러그인을 등록하고 Vue 객체를 플러그인 또는 설치 메소드의 첫 번째 매개변수로 전달하는 것입니다. 플러그인 또는 설치를 위한 기타 매개변수로 사용되는 기타 매개변수입니다.
간단한 예를 들어보세요
import Vue from 'vue' function test(a){ console.log(a);//Vue } function test1(a,b){ console.log(a,b);//Vue hello } let oTest = { install:function(a,b){ console.log(a,b);//Vue hello1 } } Vue.use(test); Vue.use(test1,'hello'); Vue.use(oTest,'hello1') console.log(oTest); //{ install:function(){...}, installed:true }
관련 추천:
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !
위 내용은 Vue.use의 소스 코드 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Netflix는 주로 VUE가 특정 기능을 위해 보충하는 프론트 엔드 프레임 워크로 React를 사용합니다. 1) React의 구성 요소화 및 가상 DOM은 Netflix 애플리케이션의 성능 및 개발 효율을 향상시킵니다. 2) VUE는 Netflix의 내부 도구 및 소규모 프로젝트에 사용되며 유연성과 사용 편의성이 핵심입니다.

vue.js는 복잡한 사용자 인터페이스를 구축하는 데 적합한 점진적인 JavaScript 프레임 워크입니다. 1) 핵심 개념에는 반응 형 데이터, 구성 요소화 및 가상 DOM이 포함됩니다. 2) 실제 응용 분야에서는 TODO 응용 프로그램을 구축하고 Vuerouter를 통합하여 시연 할 수 있습니다. 3) 디버깅 할 때 VuedeVtools 및 Console.log를 사용하는 것이 좋습니다. 4) 성능 최적화는 V-IF/V- 쇼, 목록 렌더링 최적화, 구성 요소의 비동기로드 등을 통해 달성 할 수 있습니다.

vue.js는 중소형 프로젝트에 적합하지만 REACT는 크고 복잡한 응용 프로그램에 더 적합합니다. 1. Vue.js의 응답 형 시스템은 종속성 추적을 통해 DOM을 자동으로 업데이트하여 데이터 변경을 쉽게 관리 할 수 있습니다. 2. 반응은 단방향 데이터 흐름을 채택하고 데이터 흐름에서 하위 구성 요소로 데이터가 흐르고 명확한 데이터 흐름과 곤란하기 쉬운 구조를 제공합니다.

vue.js는 중소형 프로젝트 및 빠른 반복에 적합한 반면 React는 크고 복잡한 응용 프로그램에 적합합니다. 1) vue.js는 사용하기 쉽고 팀이 불충분하거나 프로젝트 규모가 작는 상황에 적합합니다. 2) React는 더 풍부한 생태계를 가지고 있으며 고성능 및 복잡한 기능적 요구가있는 프로젝트에 적합합니다.

VUE에서 태그의 점프를 구현하는 방법에는 다음이 포함됩니다. HTML 템플릿의 A 태그를 사용하여 HREF 속성을 지정합니다. VUE 라우팅의 라우터 링크 구성 요소를 사용하십시오. javaScript 에서이. $ router.push () 메소드를 사용하십시오. 매개 변수는 쿼리 매개 변수를 통해 전달 될 수 있으며 동적 점프를 위해 라우터 옵션에서 경로가 구성됩니다.

VUE에서 구성 요소 점프를 구현하는 방법은 다음과 같습니다. 라우터 링크 및 & lt; router-view & gt; 하이퍼 링크 점프를 수행하고 대상 경로로 속성을 지정합니다. & lt; router-view & gt; 현재 라우팅 된 렌더링 된 구성 요소를 표시하는 구성 요소. 프로그래밍 방식 탐색을 위해 router.push () 및 router.replace () 메소드를 사용하십시오. 전자는 역사를 구하고 후자는 기록을 떠나지 않고 현재 경로를 대체합니다.

VUE에서 DIV 요소를 점프하는 두 가지 방법이 있습니다. VUE 라우터를 사용하고 라우터 링크 구성 요소를 추가하십시오. @Click 이벤트 리스너를 추가하고 이것을 호출하십시오. $ router.push () 메소드를 점프하십시오.

VUE에서 데이터를 전달하는 두 가지 주요 방법이 있습니다 : Props : 일원 데이터 바인딩, 부모 구성 요소에서 자식 구성 요소로 데이터를 전달합니다. 이벤트 : 이벤트와 사용자 정의 이벤트를 사용하여 구성 요소간에 데이터를 전달합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

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

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
