Vue 에서 component 태그 해결 프로젝트 구성 요소 화 작업
vue 프로젝트 의 구성 요소 화 과정 에서 문제 가 생 겼 습 니 다.어떤 문제 입 니까?바로 다기 능,다 용도,다 호 환 가능 한 큰 구성 요 소 를 만 들 때 이 구성 요소 내부 에서 너무 많은 if,for 논 리 를 실현 한 것 을 발견 했다.대량의 html 요 소 를 포함 하여 모든 기능 블록 에 주석 이 있다 고 하지만 부피 가 비교적 크다.최근 에 필요 한 것 이 있 습 니 다.페이지 의 큰 선별 기능 을 벗 겨 내 고 단독 구성 요 소 를 형성 해 야 합 니 다.통 일 된 데이터 렌 더 링,통 일 된 구성 요소 관리,그리고 이런 기능 들 은 스타일 이 든 구조 든 차이 가 크기 때문에 다음 과 같은 몇 가지 개발 방식 을 고려 했다.
1.대 용량 단일 구성 요소 개발,렌 더 링 및 전 송 된 데 이 터 는 각종 type,ctype 으로 판단
2.소켓 개발 을 사용 하여 type 에 따라 해당 하 는 구성 요 소 를 호출 합 니 다.
3.component 로 구성 요 소 를 불 러 오 는 방식,동적 렌 더 링 호출 구성 요소 사용
최종 선택:세 번 째 방식,
2.공식 문서 해석
1. https://cn.vuejs.org/v2/guide/components.html#동적 구성 요소
2. https://cn.vuejs.org/v2/guide/components-dynamic-async.html
3. https://jsfiddle.net/chrisvfritz/o3nycadu/
3.개발 절차
1.우선 큰 구성 요소 모델 에 따라 개발 하고 기능 을 나 누 어 큰 구성 요소 에서 모든 기능 모듈 의 스타일 을 통일 합 니 다(주의:부분 스타일 에 전체 스타일 을 덮어 쓰 는 조건 은 스타일 에/deep/,>>를 사용 해 야 합 니 다)
<template>
<div class="filter-input-container">
<!-- -->
<div class="filter-line">
//...
</div>
<!-- -->
<div class="filter-line">
//...
</div>
<!-- -->
<div class="filter-line">
//...
</div>
<!-- -->
<div class="filter-line">
//...
</div>
</div>
</template>
<script scoped>
import { DatePicker, Select, Option, Button, Input } from 'element-ui';
export default {
components:{
'el-date-picker': DatePicker,
'el-select': Select,
'el-option': Option,
'el-button': Button,
'el-input': Input
}
}
</script>
<style scoped lang="stylus">
@import './stylus/filter-input.styl'
</style>
2.단일 기능 구성 요소 가 단독 구성 요소 파일 로 분리(1)검색:fi-search.vue
(2)드 롭 다운:fi-select.vue
(3)태그:fi-tab.vue
(4)시간:fi-time.vue
그리고 각 단독 구성 요소 에 기본 props 값 을 설정 합 니 다.이 값 을 통 해 구성 요소 와 바 인 딩 데 이 터 를 동적 으로 렌 더 링 하고 구성 요소 유형 에 따라 click 또는 change 이 벤트 를 바 인 딩 합 니 다.
3.드 롭 다운 기능 파일 소스 코드 예제 분석 을 선택 하 십시오.
<template>
<div class="filter-line">
<section class="filter-line-title">{{title}}</section>
<section class="filter-line-content">
<span class="flc-span-wrap">
<!-- -->
<el-select v-model="contents.value" placeholder=" " :class="'selectBox'">
<el-option
v-for = "v,i in contents.options"
:key = "i"
:label = "v.label"
:value = "v.value">
</el-option>
</el-select>
</span>
</section>
</div>
</template>
<script scoped>
import { Select, Option } from 'element-ui';
export default {
name: 'fi-select',
data(){
return {
selectValue: ''
}
},
props:{
title:{
type: String,
default: ' '
},
contents:{
type: Object,
default:() => ({
options: [
{ label: 'show option 1', value: 1 },
{ label: 'show option 2', value: 2 },
{ label: 'show option 3', value: 3 },
{ label: 'show option 4', value: 4 }
],
value: ''
})
}
},
methods:{
},
components:{
'el-select': Select,
'el-option': Option
}
}
</script>
4.드 롭 다운 상자 예제 호출보충 지식:vue 에서 component 구성 요소 사용―모듈 화 개발 및 전역 구성 요소
1.모듈 화 개발 구성 요소:
box 1.vue 파일 은 다음 과 같 습 니 다.
<template>
<div class="hello">
<h1> </h1>
</div>
</template>
<script>
export default {
}
</script>
box 2.vue 파일 은 다음 과 같 습 니 다.import 는 box 1.vue,components 설정 을 도입 한 다음 탭 으로 설정 하여
<div>
<box1></box1>
</div>
</template>
<script>
import box1 from '@/components/box1'
export default {
components: {'box1': box1},
}
</script>
2.전체적인 구성
<div id="example">
<my-component></my-component>
</div>
//
Vue.component('my-component', {
template: '<div>A custom component!</div>'
})
//
new Vue({
el: '#example'
})
다음으로 렌 더 링:
<div id="example">
<div>A custom component!</div>
</div>
이 Vue 에서 component 태그 해결 프로젝트 의 구성 요소 화 작업 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue Render 함수로 DOM 노드 코드 인스턴스 만들기render에서createElement 함수를 사용하여 DOM 노드를 만드는 것은 직관적이지 않지만 일부 독립 구성 요소의 디자인에서 특수한 수요를 충족시킬 수 있습니다.간단한 렌더링 예는 다음과 같습니다. 또한 v...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.