Vue 두 가지 구성 요소 유형: 반복 구성 요소 및 동적 구성 요소 사용

일괄 구성 요소
귀속 구성 요소의 특성은 자신의template 템플릿에서 자신을 호출할 수 있다는 것이다.주의할 것은name 속성을 설정해야 합니다.

//   recursive.vue
<template>
 <div>
 <p> </p>
 <Recursion :count="count + 1" v-if="count < 3"></Recursion>
 </div>
</template>

<script>
 export default {
 name: "Recursion",// name 
 props: {
  count: {
  type: Number,
  default: 1
  }
 }
 }
</script>
이 예에서 부모 페이지에서 이 귀속 구성 요소를 사용하면 세 번recursive 구성 요소를 호출합니다. 귀속 구성 요소는 귀속 횟수 제한 수량을 설정해야 합니다.
그렇지 않으면 오류가 발생합니다. 이 예에서count를 통해 귀속 횟수를 제한합니다.
다이내믹 어셈블리
Vue 구성 요소의 이름을 Component로 지정하면 오류가 발생합니다. 왜냐하면 Vue는 다른 구성 요소를 동적 마운트하기 위해 특수한 요소 를 제공하기 때문입니다.
마운트할 구성 요소를 선택하려면 is 특성을 사용하십시오.

// parentComponent.vue
<template>
 <div>
 <h1> </h1>
 <component :is="currentView"></component>
 <button @click = "changeToViewB"> B </button>
 </div>
</template>

<script>
 import ComponentA from '@/components/ComponentA'
 import ComponentB from '@/components/ComponentB'
 export default {
 components: {
  ComponentA,
  ComponentB
 },
 data() {
  return {
  currentView: ComponentA //   A
  }
 },
 methods: {
  changeToViewB () {
  this.currentView = ComponentB //   B
  }
 }
 }
</script>
currentView의 값을 바꾸면 표시되는 구성 요소를 동적 전환할 수 있습니다. 이와 유사한 것은 vue-router의 실현 원리입니다. 전방에서 서로 다른 페이지로 이동하는 것은 실제적으로 서로 다른 구성 요소를 불러오는 것입니다.
추가 정보: Vue route 섹션의 간단한 고급 사용 방법
1. 페이지 title 값 변경
개발할 때 종종 다른 페이지로 전환할 때 브라우저의 title 값을 바꾸어야 합니다. 그러면 루트를 정의할 때 메타 속성을 설정할 수 있습니다.
타이틀 값을 변경합니다.

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
import UserInfo from ".././userInfo.vue";
import ChangeCommunity from ".././ChangeCommunity.vue";

var vueRouter= new Router({
routes: [
 {
 path: '/',
 name: 'UserInfo',
  component: UserInfo,
  meta: {
   title: ' '
  }
  },
  {
   path: '/ChangeCommunity',
   name: 'ChangeCommunity',
   component: ChangeCommunity,
   meta: {
   title: ' '
   }
  },
 
]
})
vueRouter.beforeEach((to, from, next) => {
/*  title */
if (to.meta.title) {
document.title = to.meta.title;
}
next();
})
export default vueRouter
내 정보 페이지에서 내 커뮤니티 페이지로 넘어갈 때 대응하는 타이틀 값도'내 정보'에서'내 커뮤니티'로 바뀝니다.
2. 루트 로드 게으름
프로젝트 페이지가 비교적 많을 때, 초기화할 때 모든 페이지의 루트를 불러옵니다. 성능이 매우 좋지 않으면, 게으름으로 불러올 수 있으며, 그 페이지를 렌더링하려면 그 페이지를 불러올 수 있습니다.
예:

 {
   path: '/ChangeCommunity',
   name: 'ChangeCommunity',
   component: ChangeCommunity,
   resolve
 },
그런대로 괜찮다

 {
   path: '/ChangeCommunity',
   name: 'ChangeCommunity',
   component: resolve=>require(['ChangeCommunity'],resolve)
 },
두 가지 기법 모두 가능하다.
3. 스크롤 동작
프런트엔드 라우팅을 사용하여 새 라우팅으로 전환할 때 페이지를 맨 위로 스크롤하거나 페이지를 다시 로드하는 것처럼 원래 스크롤 위치를 유지합니다.
vue-router는 루트가 전환될 때 페이지가 어떻게 굴러가는지 사용자 정의할 수 있을 뿐만 아니라, 더 좋습니다.
주의: 이 기능은 역사만 지원합니다.pushState 브라우저에서 사용할 수 있습니다.
예:

 const router = new VueRouter({
 routes: [...],
 scrollBehavior (to, from, savedPosition) {

  if (savedPosition) {
    return savedPosition// 
    } else {
   return { x: 0, y: 0 }
    }
 } })
“ ” :
scrollBehavior (to, from, savedPosition) {
 if (to.hash) {
 return {
  selector: to.hash
 }
 }
}
 
scrollBehavior (to, from, savedPosition) {
 return new Promise((resolve, reject) => {
 setTimeout(() => {
  resolve({ x: 0, y: 0 })
 }, 500)
 })
}
이상의 이 Vue 두 가지 구성 요소 유형: 귀속 구성 요소와 동적 구성 요소의 사용법은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분에게 참고가 되고 저희를 많이 사랑해 주십시오.

좋은 웹페이지 즐겨찾기