이 글에서는 vue-router 라우팅에 관한 vuejs 인터뷰 질문 10가지를 소개하겠습니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
mvvm은 Model-View-ViewModel입니다.
MVVM은 Model-View-ViewModel의 약자로 비즈니스 로직과 데이터 캡슐화를 담당합니다. UI 구성 요소를 나타내며 인터페이스와 디스플레이를 담당합니다. ViewModel은 모델 데이터의 변경 사항을 모니터링하고 보기 동작을 제어하며 사용자 상호 작용을 처리합니다. 간단히 말해 양방향 데이터 바인딩을 통해 View 레이어와 Model 레이어를 연결합니다. MVVM 아키텍처에서는 View와 Model이 직접 연결되지 않고 ViewModel을 통해 상호작용합니다. 비즈니스 로직에만 집중하고 DOM을 수동으로 조작할 필요가 없으며 View와 Model의 동기화에 신경 쓸 필요도 없습니다. (학습 영상 공유: vue 영상 튜토리얼)
<router-link>
和<router-view>
和<keep-alive>
active-class는 라우터 링크 터미널 속성으로, 선택한 스타일을 전환하는 데 사용됩니다. 이 스타일은 라우터 링크 레이블을 클릭할 때 적용됩니다.
{ path: '/details/:id' name: 'Details' components: Details }
세부사항/a, 세부사항/인 경우 세부사항 디렉토리의 모든 파일에 액세스합니다. b 등은 세부 정보 구성 요소에 매핑됩니다.
console.log(this.$route.params.id)
const router = new VueRouter({}) router.beforeEach((to, from, next) = { // to do somethings })
to:Route, 진입할 대상을 나타내며 라우팅 개체입니다.
from:Route는 현재 떠나는 경로를 나타내며 라우팅 객체이기도 합니다.
next:Function, 반드시 호출해야 하는 메소드, 구체적인 실행 효과는 next 메소드의 매개변수에 따라 달라집니다. call
router.afterEach((to, from) = { // to do somethings })
포스트후크에는 다음 기능이 없으며 실행되지 않습니다. 탐색 자체를 변경하십시오.
Route 전용 후크
const router = new VueRouter({ routes: [ { path: '/home', component: Home, beforeEnter: (to, from, next) = { // to do somethings // 参数与全局守卫参数一样 } } ] })
const Home = { template: `<div</div`, beforeRouteEnter(to, from, next){ // 在渲染该组件的对应路由被 confirm 前调用 // 不能获取组件实例 ‘this’,因为当守卫执行前,组件实例还没被创建 }, beforeRouteUpdate(to, from, next){ // 在当前路由改变,但是该组件被复用时调用 // 例:对于一个动态参数的路径 /home/:id,在/home/1 和 /home/2 之间跳转的时候 // 由于会渲染同样的 Home 组件,因此组件实例会被复用,而这个钩子就会在这个情况下被调用。 // 可以访问组件实例 'this' }, beforeRouteLeave(to, from, next){ // 导航离开该组件的对应路由时调用 // 可以访问组件实例 'this' } }
const Home = { template: `<div</div`, beforeRouteEnter(to, from, next){ next( vm = { // 通过 'vm' 访问组件实例 }) } }
// 监听当前路由发生变化的时候执行 watch: { $route(to, from){ console.log(to.path) // 对路由变化做出响应 } }
beforeRouteUpdate(to, from, next){ // to do somethings }
hash
// 传递参数 this.$router.push({ name: Home, params: { number: 1 , code: '999' } }) // 接收参数 const p = this.$route.params
const router = new VueRouter({ routes: [ { path: '/home', name: 'Home', component:() = import('../views/home') } ] })
更多编程相关知识,请访问:编程视频!!
위 내용은 vue-router 라우팅에 관한 10가지 vuejs 인터뷰 질문(답변 분석 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!