라우팅은 라우팅을 대량 참여, 상호 구성 요소 전송 상호 작용 매개 변수와 전면 및 프로젝트의 후부의 개발을 점프 Day67Vue

라우팅 점프

두 가지 방법 
1. URL 점프 직접 
    은이 router.push의 $ ( '/ 코스'); 
    <- 링크 라우터 = "/ 코스"로> 물론 페이지 </ 라우터 링크> 
의 라우팅 2. 별명은 점프 
    ({: 물론 이름}); 다음은이 $의 router.push 
    <- 링크 라우터 =에 "{이름 : '물론'}"> 물론 페이지 </ 라우터 링크>를

또한 점프 페이지 아래로 수

뒤로 이전에 
다음은이 $의 router.go (-1); 
(이 사건은 역사를 가지고 있어야합니다) 다음 페이지로 
이 $의 router.go (1).;

 

II. 대중의 참여를 라우팅

두 가지 방법

첫 번째

router.js

노선 : 
    // ... 
    { 
        경로 '/ 코스 / 세부 / : ID' 
        이름 '코스 디테일' 
        성분 : CourseDetail 
    } 
]

점프 .vue

<템플릿> 
    <! -标签跳转-> 
    {{course.name}} </ 라우터 링크> < "/ detail` / 과정 / $ {course.id}`"=에 라우터 링크> 
< / 템플릿> 
<script> 
    // ... 
    goDetail () { 
        //逻辑跳转
        이 $의 router.push (`/ 과정 / $ {this.course.id} / detail`).; 
    } 
</ SCRIPT>

.vue 받기

()는 {생성 된 
    ID를하자 =이 $ route.params.id.; 
}

 

두 번째

router.js

노선 : 
    // ... 
    { 
        경로 '/ 코스 / 세부' 
        이름 '코스 디테일' 
        성분 : CourseDetail 
    } 
]

점프 .vue

<템플릿> 
    <! -标签跳转-> 
    <라우터 링크 : =에 "{ 
            이름 : '물론 디테일', 
            쿼리 : {ID : course.id} 
        }"> {{course.name}} < / 라우터 링크> 
</ 템플릿> 
<script> 
    // ... 
    goDetail () { 
        //逻辑跳转
        이 $의 router.push ({. 
            이름 : '물론 디테일', 
            쿼리 : { 
                ID : this.course .ID 
            } 
        }); 
    } 
</ SCRIPT>

.vue 받기

()는 {생성 된 
    ID를하자 =이 $ route.query.id.; 
}

 

III. 크로스 구성 요소 대중 참여

1. 당신은 십자 구성 요소의 매개 변수 전달을 완료 할 수 있습니다

// 1) 로컬 스토리지 : 데이터를 영구적으로 저장 
// 2) sessionStorage를 : 데이터의 임시 저장소 (데이터 페이지), 다시 종료 한 다음 다시 엽니 탭 데이터 재설정하지 않습니다 새로 고침 
// 3) 쿠키 : 일시적 또는 영구적으로 저장된 데이터를 (만료에 의해 결정할 시간) 
// 4) vuex웨어 하우스 (store.js) : 데이터의 임시 저장 () 페이지 데이터 재설정을 새로 고침

 

2.vue 창고 플러그인

store.js 프로필

Vuex.Store 새로운 새 기본 내보내기 ({ 
    주 : { 
        제목 : '기본' 
    }, 
    돌연변이 : { 
        돌연변이 상태를 제공 세터 // 속성 
        // setter 메소드 이름 임의하지만,이 개 매개 변수 목록 고정 : 상태, NEWVALUE을 
        setTitle이라는 (주, NEWVALUE) { 
            state.title = NEWVALUE; 
        } 
    } 
    작업 : {} 
})

구성 요소의 변수 창고에 할당 될 수있다

이. $ store.state.title = '에 newTitle' 
이. $의 store.commit ( 'setTitle이라는'을 '에 newTitle')

어떤 구성 요소의 변수 값을 취할 수 창고

CONSOLE.LOG (이. $의 store.state.title)

 

 

III. 구성의 VUE-쿠키 및 플러그인 Axios의

1. VUE-쿠키 플러그

쿠키는 일반적으로 토큰을 저장하는 데 사용됩니다

토큰 란 1 
    토큰 안전 인증의 문자열 
생성 2. 
    데이터 전경 송신 배경 토큰을 통한 데이터 전송에있어서 발생한다 
3. 누가 저장 
    배킹 스토어 (세션 테이블, 파일, 메모리 버퍼) 앞에 저장 (쿠키) 
4. 사용하는 방법 
    (요청 후 로그인 필요) 인증을 완료하는 배경에 전경에 제출 프런트 데스크 (로그인 인증 과정)에 다시 씨는 서버를 
전 항목 (5)의 분리 후 대만 
    토큰 렌더링 배경, 토큰 전달, 전송, 프런트 데스크에 자신의 가게에 반환 요청은 배경 조사는 로그인 한 돌아갈 사용자 토큰 완료

 

플러그인 VUE - 쿠키 설치

명령 입력 단자 
>는 : VUE-쿠키를 설치 cnpm

 

main.js 구성 파일

// 최초의 
'VUE-쿠키'에서 가져 오기 쿠키 // 가져 오기 플러그인 
Vue.use (쿠키),로드 // 위젯 
새로운 새로운 뷰 ({ 
    // ... 
    쿠키, // 위젯 쿠키 프로토 타입 $를 사용하도록 구성 
}). 마운트 $ ( '# 응용'); 

// 초 
'VUE-쿠키 "가져 오기 쿠키 // 수입 플러그 
직접 쿠키 배치 Vue.prototype $ 쿠키 = 쿠키 ;. // $ 원형 플러그

 

용도

//增(改) : 키, 값, 특급 (过期时间) 
// 1 = '1 초'| '1m'| '1 시간'| '1D' 
이 $의 cookies.set ( '토큰'토큰 '(1Y).'); 

//查: 키 
. this.token =이 $의 cookies.get ( '토큰'); 

//删: 키 
.이 $의 cookies.remove ( '토큰');

 

2. Axios의 플러그인

 설치

> Axios의 설치 cnpm

main.js 구성

'Axios의'// 가져 오기 플러그인에서 수입 Axios의 
Vue.prototype $의 Axios의 = Axios의 ;. // $ 프로토 타입 플러그는 Axios의 직접 배치

용도

this.axios ({ 
    URL : '요청 인터페이스' 
    방법이 '수 | POST 요청을' 
    데이터 : 제출 된 데이터 {포스트 등}, 
    params 객체를 파라미터 : {데이터를 제출받을} 
}) 당시 (요청 성공 콜백 함수). .catch (요청 콜백 함수 실패)

경우

//请求얻을 
.이 Axios의 $ ({ 
    URL을 'http://127.0.0.1:8000/test/ajax/', 
    방법, '수' 
    PARAMS : { 
        이름 : this.username 
    } 
}). 다음 (기능 (대응) { 
    CONSOLE.LOG (대응) 
}) 캐치 (함수 (에러) {. 
    CONSOLE.LOG (오차) 
}); 

// 게시물请求
.이 Axios의 $ ({ 
    URL을 'http://127.0.0.1:8000/test/ajax/' 
    방법 '포스트' 
    데이터 : { 
        이름 : this.username 
    } 
}). 다음 (기능 (대응) { 
    CONSOLE.LOG (대응) 
}) 캐치 (함수 (에러) {. 
    CONSOLE.LOG (오차) 
});

 

미들웨어 CSRF 잘라 필요 백 엔드 및 크로스 도메인 문제를 해결하기 위해 필요

크로스 도메인 문제 (동일 출처 정책)

// 다시 전경에 요청을 받았으며, 데이터 수신 요청 정보를 수신 할 수있다, 요청 된 정보를 전송 로컬 서버 요청에없는 데이터 거부 반응, 이것은이라고한다 - 도메인 간 문제 (원본 정책 CORS를) 

/ 세 가지의 경우 / 크로스 도메인 결과 
일치하지 않는 포트) 1 @ 
// 2) IP 일관성 
의 // 3) 계약 

// 어떻게 장고 해결하기 위해 - 장고 고르 헤더 모듈 
설치) 1 @를 : pip3 장고 - 고르 헤더를 설치 
// 2) 등록 
INSTALLED_APPS = 
    ... 
    'corsheaders' 
] 
// 3)의 중간에 배치 :. 
미들웨어 = 
    ... 
    'corsheaders.middleware.CorsMiddleware' 
] 
// 4) 도메인을 가로 질러 배치 :. 
CORS_ORIGIN_ALLOW_ALL = TRUE

 

3.  요소 플러그인 UI

 설치

> cnpm I 소자 UI -S

main.js 구성

'요소-UI'에서 가져 오기 ElementUI; 
수입 '요소 - UI / lib 디렉토리 / 테마 분필 / index.css'; 
Vue.use (ElementUI);

용도

공식 웹 사이트에 따르면, https://element.eleme.cn/#/zh-CN/component/installation API

 

추천

출처www.cnblogs.com/sxchen/p/11667916.html