VUE 인터뷰

 첫 번째 부분 :

1 액티브 클래스 속성 요소는 무엇입니까? 어떻게 중첩 된 경로를 정의?
A : 라우터 링크 조립체 VUE 라우터 모듈.
 

2, 어떻게 VUE 라우터의 동적 라우팅을 정의? 어떻게 동적 매개 변수를 통해 패스를 얻기 위해? 
A : 경로에있는 라우터하는 index.js 파일 디렉토리 속성에 플러스 / : ID입니다. 라우터 개체 params.id를 사용하여
 

몇몇 탐색 후크를 갖는 3 VUE 라우터?    
A : 세 가지, 하나는 글로벌 네비게이션 후크입니다 : (옆에서에, router.beforeEach ) 역할 : 점프하기 전에 판사 차단. 배타적 단일 라우팅 성분 :; 둘째 셋째 후크 어셈블리
 

그 SCS들 4. 무엇? 설치를 사용하려면? 주요 특징은 무엇인가?
A : 사전 CSS는 CSS는 현재 함수를 작성 중첩 변수를 정의한다. 먼저 부하 CSS 로더, 노드 로더, 말대꾸 로더 웹팩-base.config.js에서 로더 모듈 등은 확장 구성 파일을 추가 할 : 확장 파일, 플러스 하나 개 더 모듈 : 테스트, 로더 내부 모듈을
 

그하는 SCS 4.1 무엇? 설치 단계 vue.cli은? 주요 특징은 무엇인가?
A : 사전 컴파일 된 CSS.

다음 단계를 사용합니다 :

단계 : 세 로더와 NPM (사스 로더, 로더 CSS, 노드 사스)

두 단계 : 빌드 디렉토리에 webpack.base.config.js을 찾아 .scss을 확장 할 수있는 속성을 확장하는 캐나다

동일한 파일에 여전히 모듈 구성 등록 : 세 번째 단계

4 단계 : 랭이 스타일 속성을 다음과 같은 레이블 어셈블리를 추가 LANG = "SCS들"

주요 기능은 무엇입니까 :

(1) 변수는 예를 들어, ($ 변수 이름 = 값);

2 믹서는, 예를 들면, ()가 사용될 수있다

3 중첩 될 수
 

5. 무엇 민트 - UI? 어떻게 사용 하는가? 적어도 세 가지 구성 요소로 사용하는 이름?

A : 프런트 엔드 구성 요소 라이브러리 VUE 기준으로합니다. NPM 스타일 JS를 가져올 후 설치하고, vue.use (mintUi)는 전 세계적으로 도입했다. 단일 구성 요소의 일부 소개 : 수입 {토스트} '민트-UI'에서. 구성 요소 A : 토스트 ( '로그인 성공'); 두 가지 구성 요소 : 민트 헤더, 세 가지 구성 요소 : 민트 - swiper
 

6, V-모델은 무엇입니까? 어떻게 사용 하는가? VUE 라벨 어떻게 바인딩 이벤트?

A : 당신은 양방향 바인딩을 달성 할 수있다, 지시자 (V 클래스, V-를위한 V-경우, V 쇼, V-에). 모형 층 VUE 데이터 속성. 이벤트를 바인딩 : <입력 @ 클릭 = 도로 그 () />
 

그 Axios의 7 무엇? 어떻게 사용 하는가? 그것은 로그인 기능을 달성하기 위해 프로세스의 사용을 설명?

A : 요청 모듈 백엔드 자원. NPM 설치 -S Axios의 설치 후 도메인 간 전달은 구성 파일의 구성 /하는 index.js에 제공 될 필요가있다. 배경이 경우 TP5는 리소스 라우팅을 정의합니다. JS는 갔지 또는 .post에서 가져 오기를 사용했다. 성공, 실패 .catch의 함수 인 경우 그 때는 함수를 반환

 

8 Axios의 + TP5 고급, axios.post ( 'API / 사용자) 작업이 무엇인가를 호출? axios.put ( 'API / 사용자 / 8') 그것은?

A : 크로스 도메인이 운영하는 사용자, 업데이트 작업을 추가합니다.
 

9. 편안하고 API는 무엇입니까? 어떻게 사용 하는가?

A : 예, 표준 API, 무 상태 요청. 이 구성 리소스 라우팅 제 라우팅 구성 TP5 경우 라우팅 주소 요청이 고정된다. 표준 : .post .put .delete
 

10. 그 무엇 vuex? 어떻게 사용 하는가? 어떤 시나리오를 사용 하는가?

A : 상태 관리의 VUE 프레임 워크. 스토어, main.js에 주사를 소개했다. 디렉토리 저장소, ... .. 수출을 만듭니다. 장면 : 단일 페이지 응용 프로그램 구성 요소 간 상태입니다. , 로그인, 장바구니에 음악 플레이어 추가
 

11. MVVM 프레임 워크? 그와 다른 프레임 워크 (JQuery와) 사이의 차이점은 무엇입니까? 어떤 장면?

A : 모델 뷰 + + 뷰 모델 프레임 데이터 모델 모델 뷰 모델은 두 개의 연결

차이 : VUE 데이터 드라이버의 동작 레벨이 아닌 노드를 통해 데이터 디스플레이를 볼 수있다.

장면 : 더 많은 데이터를 조작 시나리오,보다 편리
 

12 사용자 정의 방법 명령 (V-검사, V-초점) 무엇인가? 그 훅 기능은 무엇입니까? 무엇 후크 기능 매개 변수?

A : 글로벌 조작법 : 지시 한 명령 이름, 두 방법의 VUE 객체 파라미터 안에 가지고, 또한 함수이다. 구성 요소 정의 명령 내 : 지시

후크 함수 : 바인딩 (바인딩 이벤트 트리거)을 삽입 (삽입 트리거 노드), 업데이트 (업데이트와 관련된 구성 요소)

후크 함수 매개 변수 : 엘, 바인딩
 

(13)는, 적어도 네 종의 사용 중 명령 VUE 말?

A : V-경우 : 숨길 지 여부를 결정, V-에 대한 : 데이터주기를 벗어 V-바인딩 : 클래스 : 속성을 결합, V 모델 : 양방향 바인딩
 

14. 어떤 VUE 라우터가? 그 구성 요소는 무엇입니까?

A : VUE는 플러그인 경로를 작성하는 데 사용. 라우터 링크, 라우터 시청
 

15, 내비게이션은 무엇 후크? 그들은 어떤 매개 변수가?

A :이를 후크 탐색 : A / 글로벌 후크와 후크 어셈블리 내에서 독점. B / beforeRouteEnter, afterEnter, beforeRouterUpdate, beforeRouteLeave

매개 변수 : 가장 일반적으로 이러한 유형의 사용 (당신은 차단하지 않으면, 다음 경로로 이동이 기능을 사용한다), (왼쪽 라우팅)에서, 다음 (그 경로를 이동) 할 수있다
 

16. 양방향 원칙 뷰 데이터 바인딩?

A : vue.js 게시자 하이재킹와 함께 데이터의 용도이다 - 단방향 모드 가입자를 통해 Object.defineProperty()개별 속성을 하이재킹 setter, getter릴리스 가입자 데이터가 변경되면 해당 콜백 수신기를 트리거 할 때 메시지.

특정 단계 :

첫 번째 단계 : 데이터를 관찰 할 필요는 객체 속성의 하위 속성을 포함하여, 재귀 적으로 트래버스 객체 플러스 모든  settergetter
그래서,이 객체에 값을 할당,이 트리거 setter는 데이터 변경 사항을 모니터링 할 수있을 것입니다,

단계 : 컴파일 명령 파싱 템플릿 데이터에 템플릿 변수 치환은, 데이터가 변경 될 일단 데이터를 모니터링 가입자 추가, 페이지 뷰를 렌더링 초기화하고 각 명령 노드에 대응하는 업데이트 기능을 바인딩 닫 업데이트보기를 알려

세 번째 단계는 : 가입자는 다리와 컴파일 관찰자 사이의 감시자 통신은, 중요한 것은이 완료 :
1을 추가하는 그들의 자신의 예에서 가입자 특성 (DEP)에
2, 자동 업데이트가 있어야합니다 () 메소드
속성이 dep.notice () 통지 변경 될 때까지 3, 다음, 임무 수행, 바인딩 컴파일 갱신 () 메소드 자체를 호출하고 트리거 콜백 할 수 있습니다.

4 단계 : 엔트리 데이터 바인딩으로 MVVM은, 통합 관찰자가 컴파일 세 감시자는, 관찰자를 통해 자신의 데이터 모델의 변경을 감시하기 위해서, 옵저버 및 컴파일 사이에 건립 컴파일 템플릿 지시, 최종 사용 당직자에 의해 컴파일 해결하려면 데이터 변화에 통신 다리 ->보기 업데이트 쌍방향 변경 (입력) -보기 양방향 결합 효과> 데이터 모델을 변경.

PS : 16 질문에 대답은 "VUE 데이터를 달성하는 방법은?"동등하게 적합이 인터뷰 질문.

 

17 VUE의 라이프 사이클에 대한 이해에 따라 세부 사항을 기쁘게?

A : 전체가 창조되기 전에 여덟 단계로 나누어 져 있습니다 / 후,로드 전 / 업데이트 후 전 / 전 / 후 파괴 후.

당신이 / 전에 작성한 후 : beforeCreated 단계에서, 데이터 객체 및 데이터의 요소 VUE의 $ 엘 인스턴스를 장착 정의되지 않은, 아직 초기화됩니다. 생성 단계에서, 데이터 객체는 데이터 VUE 인스턴스를 $ EL 아직.

로드 / 후면 전에 : beforeMount 단계에서, VUE의 $ 엘 인스턴스와 데이터는 초기화되지만, DOM 가상 노드로 장착하기 전에 여전히 data.message 교체되지 않았습니다. 장착 단계에서, 산의 예는 VUE data.message 성공적 렌더링이 완료된다.

/ 후면를 업데이트하기 전에 : 데이터 변경, 그것은 beforeUpdate 및 업데이트 방법을 트리거합니다.

후 파괴 이전 / 다음 destroy 메소드의 구현 후, 데이터에 대한 변경 사항이 더 이상주기 함수를 트리거하지 않습니다, 예를 들면이 시점 VUE는 언 바운드 된 이벤트 리스너뿐만 아니라 DOM, DOM하지만 구조가 여전히 존재 설명
 

18 패키지 구성 요소에서 VUE 과정을 말 해주세요?

A : 첫째, 구성 요소가 전체 프로젝트의 개발 효율성을 향상시킬 수 있습니다. 이 페이지는 우리의 전통적인 프로젝트 개발을 해결하기 위해, 여러 개의 독립적 인 모듈로 추상화 될 수 있습니다 비효율적, 재사용 및 기타 문제, 유지하기 어려운.

그리고, Vue.extend 방법은 구성 요소를 만들고 사용하고 Vue.component 구성 요소를 등록하는 방법을 사용한다. 서브 어셈블리 소품의 정의에서 허용 될 데이터를 필요로한다. 부모 어셈블리 원에 하위 어셈블리 좋은 데이터를 수정 한 후, 데이터가 전송됩니다. 발광 방법을 사용할 수있다.
 

19, 어떻게의 vuex을 알 수 있습니까?

A : vuex은 개발 모델 또는 프레임 워크로 이해 될 수있다. 예를 들어, PHP는 자바 등등 봄을 가지고 thinkphp 있습니다.
중앙 드라이브 어셈블리의 관리 변경 상태 (데이터 소스)를 통해 (스프링처럼 IOC 컨테이너는 중앙에서 관리 Bean을한다).

상태에서 응용 프로그램 수준은 상점에 초점을 맞춘 상태의 변화가 동기화 일이 돌연변이를 제출하는 방법입니다 비동기 로직은 행동에 캡슐화되어야한다.
 

20. VUE 로더? 그것은 무엇을 사용합니다?

A : JS 모듈로 변환 템플릿 / JS / 스타일 로더 .vue 파일의 분석.

용도 : JS가 ES6을 쓸 수 있습니다, 스타일의 스타일은 SCSS 수 있습니다 이하, 템플릿 등, 옥을 추가 할 수 있습니다
 

(21)는, 각 폴더의 사용 vue.cli 프로젝트 src 디렉토리 말을하고 수속을 해주세요?

A : 자산 폴더 정적 리소스를 넣어, 구성 요소는 구성 요소를 배치, 라우팅 관련 라우터 구성을 정의,보기보기, app.vue이 주성분 응용 프로그램입니다, 입력 파일은 main.js입니다
 

22 사용자 지정 구성 요소를 사용하는 방법에 vue.cli? 어떤 문제는 발생했다?

A : 첫 번째 단계 : 구성 요소 디렉토리에 구성 요소 파일 (smithButton.vue)을 작성, 스크립트는 {기본을 내 보내야합니다

두번째 단계 : 필요한 페이지 (성분)의 도입 : 가져올 smithButton를 '../components/smithButton.vue'

세 번째 단계는 : 상기 조립체의 구성 요소의 특성에 VUE 성분을 주입 {} smithButton

네 번째 단계 : 템플릿보기의 관점에서, <스미스 버튼> </ 스미스 버튼>
문제 : 스미스 - 버튼을 사용할 때 smithButton 이름.
 

23 템플릿 컴파일 Vue.js 년대의 이해에 대해 이야기?

A : 즉, AST 먼저 나무로, 다음 기능을 렌더링 얻을 것은 vnode에 (뷰 가상 DOM 노드)를 반환

단계 자세한 사항 :

우선, 템플릿 작성자가 AST 컴파일 구문 트리 (소스 코드 추상 구문 트리 표현 구조의 형태로 추상 구문 트리)를 컴파일시 createCompiler 반환 값을 컴파일, createCompiler 컴파일러를 생성하는데 사용된다. 또한 또한 합병 옵션에 대한 책임을 컴파일합니다.

그런 다음, AST는 생성 후, 기능을 렌더링 줄 반환 값이는 vnode입니다 렌더링하기 위해 (AST는 구문 트리의 연료 소모량 문자열을 변환하는 과정을 렌더링)는 vnode 뷰는 가상 DOM 노드 인 등 (태그 이름, 자식 노드, 텍스트,가 등)

에 도전합니다 :
1, VUE 반응 원리를?
2, VUE 라우터 구현 원리?
3, 우리는 왜 VUE 투표를해야합니까? 다른 프레임 워크의 장점과 단점과는 대조적으로?
네, 어떻게 부모 - 자식 통신 구성 요소뿐만 아니라 비 부모 - 자식 통신 구성 요소를 구현하는 VUE?
AngularJS와의 차분 vuejs 5 및 반응?
6 vuex는 어떻게 사용됩니까?
7 VUE 소스 구조

 

 

두번째 부분

1. 수명주기 VUE는 무엇입니까?  

VUE 인스턴스가 라이프 사이클의 VUE 파괴라는 일련의 과정에서 생성 될 수 있습니다. 즉, 생성, 초기화 데이터, 컴파일 된 템플릿의 시작부터이며, DOM → 렌더링, 업데이트, 렌더링, 및 프로세스를 언로드의 시리즈를 탑재합니다.

기능의 2.axios은 무엇입니까

 

  1. Axios의 모든 API의 약속을 지원하는 HTTP 라이브러리의 약속을 기반으로
  2. 이 요청과 응답을 가로 챌 수 있습니다
  3. 이 요청 데이터 및 응답 데이터의 내용을 변환 할 수 있습니다, 그리고 응답은 다시 자동으로 데이터 형식 JSON 변환
  4. 그것은 더 안전, 클라이언트 지원 방어 XSRF

전통적인 가치에 어떻게 3.vue 상위 구성 요소 서브 어셈블리?

데이터는 소품하여 상위 서브 어셈블리 컴포넌트에 전송 될

VUE 참조 링크

4. VUE의 특정 사용을 이해 말 해주세요

나는 결국 제목을 물어 모르는 (VUE 특정 사용을 요청하거나 VUE 장점과 그것을 사용의 단점을 물어?)

구성 요소? 어떻게 중첩 된 경로 정의입니다 5.active 수준의 속성?

VUE 라우터 라우터 모듈 연결 조립체

코드를 복사
1 개 CONST 경로 =   
2 {경로 "/", 리다이렉트 "/ 홈"} //重定向,指向了홈组件   
3- {   
4 경로 "/ 홈"성분 : 홈,   
5 아이들 [   
6 { 경로 : "/ 홈 / 게임", 구성 요소 : 게임}   
7]   
8}   
9]
코드를 복사

 

6. 파라미터 및 내부기구의 사용에 초점을 맞추고, ()를 사용 정렬 정렬 방식 자바 어레이를 설정?

구문 : arrayObject.sort (sortby)

매개 변수는 함수해야한다, 또는 소정 정렬 순서를 sortby

참고 : 통화 방법 파라미터 분류 자 ​​부호화 순서가없는 경우,이를 달성하기 위해, 상기 어레이의 첫 번째 요소는 비교하는 문자열로 변환한다.

다른 기준에 따라 정렬 할 경우,이 개 함수 값을 비교하기 위해 두 개의 비교 기능을 필요로하고이 두 값의 상대적인 순위를 설명하기위한 수를 반환합니다. 다음과 같이 두개의 파라미터 A 및 B를 비교한다 함수 반환 값은 :

은 <B 경우, 0보다 작은 값이 반환

A = B를하는 경우는 0을 반환

A> B 경우는 0보다 큰 값을 반환

제 DESCRIPTION 차이 DIV 소자와 스팬 엘리먼트

DIV는 블록 레벨 요소, 스팬 인라인 요소이다. 전 랩 후에 첨가 원소에 대응 인라인 블록 요소. 블록 요소는 동일한 요소를 포함하게되고, 인라인 임베디드 소자 디스플레이 정의 : 사실, 블록 요소와 인라인 요소 정적만큼 블록 요소의 표시를 정의하기없는 블록은 블록 요소진다 .

8. XHTML 내용 사양은 여러 개의 (적어도 세) 말한다

 

  1. 모든 태그는 해당 종료 태그가 있어야합니다
  2. 모든 태그의 요소와 속성은 소문자 여야 이름
  3. 모든 XML 태그가 올바르게 중첩되어야한다
  4. 모든 속성 값은 따옴표 ""따옴표로 묶어야합니다
  5. 모든 <특수 기호 및 인코딩으로 표시
  6. 값을 지정하면 모든 속성하기

9. 당신은 몇 가지 간단한 웹 표준을 알고 알고 웹 표준화 (또는 재건 사이트)의 관련 지식은 무엇입니까?

구조 (Structrue), 성능 (프리젠 테이션)과 행동 (행동) : 메인 페이지는 세 부분으로 구성됩니다. 웹 표준 대응하는도 세 부분으로 구성되어 있습니다 :

 

  1. XHTML 및 XML을 포함한 구조적 언어 표준;
  2. 성능 기준은 CSS를 포함
  3. 등, ECMAScript를, (예로서 W3C DOM) 행위를 포함 객체 모델 표준

무엇 10.localstorage 그 sessionstorage?의 차이점은 무엇입니까?

로컬 스토리지 및 sessionstorage이 임시 저장 고객 정보 개체로 사용되는, 그들은 단지 저장 문자열 형식의 개체입니다

로컬 스토리지 라이프 사이클은 사용자가 브라우저에서 제공하는 UI에 로컬 스토리지 정보를 해제하지 않는 한 그렇지 않으면이 정보가 항상있을 것 즉, 영구적입니다.

창이나 라벨이 영구적으로 폐쇄되면 현재 창 또는 탭의 sessionstorage 수명주기, sessionstorage에 의해 저장된 모든 데이터는 삭제됩니다.

로컬 스토리지 다른 브라우저에서 정보 또는 sessionstorage을 공유 할 수 없습니다. 같은 로컬 스토리지를 공유 할 수있는 다른 페이지에 동일한 브라우저 (페이지는 도메인 이름과 포트 같은에 속하는), 그러나 다른 페이지 또는 레이블 사이에 sessionstorage을 공유 할 수 없습니다. 그것은이 페이지를 주목해야하고, 탭들이 페이지에 속하는 여러 동종 iframe 태그가 포함 된 경우 라벨 만 최상위 창을 의미한다, 그래서 그들은 sessionstorage 사이에 공유 할 수 있습니다.

 

 

11. 속성 요소의 값을 얻는 방법

element.getAttribute ( '속성 이름')

12 이벤트 위임은 무엇인가 보여?

이벤트 대리자 버블의 원리를 사용하는 이벤트가 부모 요소 또는 상위 요소에 추가되고, 상기 실행 결과를 트리거

코드를 복사
1 <UL ID = "UL1"> 
 2 <LI> 111 </ 리> 
 3 <LI> 222 </ 리> 
 4 <LI> 333 </ 리> 
 5 <LI> 444 </ 리> 
 6 </ UL> 
 7 <script> 
 8 창로드 = 함수 () { 
 9 VAR '서울 = document.getElementById를 ('UL1 '); 
10 oUl.onclick = 함수 (EV) { 
11 = VAR EV EV || window.event를; 
12 VAR 대상 = ev.target || ev.srcElement; 
13의 경우 (target.nodeName.toLowerCase () == '리') { 
14 알림 (타겟.
코드를 복사

 

 

차이의 13.json 및 JSONP?

스크립트 코드가 리턴 JSONP (함수 호출을 포함)의 JSON JSON 문자열 포맷 데이터를 반환

다른 사이트에 요청할 수있는, 즉, JS 파일로 패키지 된 JSON을 통해 통과되도록 JSON 객체가 JS 구문에 맞춰 형태에 싸여에 패딩 JSON라는 이름의 JSONP이다.

추천

출처www.cnblogs.com/chenzxl/p/11716594.html