Map.vue 바 이 두 맵 구성 요소 재 구성 노트 공유
첫 번 째 단계:사용자 정의 부 텍스트 대상 을 재 구성 하여 전역 대상 으로 설정 합 니 다.
원래 코드 의 부 텍스트 대상 은 addResource 라 는 방법 에 설명 되 어 있 습 니 다.코드 구조 가 매우 복잡 합 니 다.beforeCreate 라 는 갈고리 함수 에서 전체 국면 으로 설명 하면 여러 번 재 활용 할 수 있 습 니 다.중복 성명 이 필요 없습니다.그렇지 않 으 면 매번 paintPolygon 방법 을 호출 할 때마다 다시 한 번 설명 해 야 합 니 다.매우 번 거 롭 고 효율 이 너무 낮 습 니 다.
원본 코드 는 부모 구성 요소 에서 이 부 텍스트 대상 이 필요 로 하 는 데 이 터 를 처리 한 다음 에 이 데 이 터 를 부 텍스트 대상 의 구조 함수 에 전달 하고 재 구성 하 는 처리 방식 으로 전체 데이터 대상(data 대상)을 대상 의 구조 함수 에 전달 한 다음 에 수요 에 따라 data 대상 을 분해 하여 대상 의 속성 을 설명 하 는 것 입 니 다(this.content | this._point | this._color 등).요약 하면 데 이 터 는 항상 가장 가 까 운 곳 에서 처리 해 야 합 니 다.
window.ResOverlay = function(data, fun){
this._data = data
this._content = data['type'].name + "|" + data['name']
this._point = new BMap.Point(data.coord[0], data.coord[1])
this._fun = e => {
fun(data)
if(typeof(e.preventDefault()) == 'function'){
e.preventDefault() // IE
}else{
e.stopPropagation() // chrome
}
}
this._color = data['type'].color || "#5cadff" // , #5cadff。
}
STEP 2:함수 전달부 텍스트 에 컴퓨터 엔 드 의 click 이벤트 와 모 바 일 엔 드 의 touch start 이 벤트 를 추가 해 야 합 니 다.부모 구성 요소 의 data 데 이 터 를 조작 하려 면 함수 fun 을 매개 변수 로 입력 하 십시오.
부모 구성 요소 가 데 이 터 를 되 돌려 달라 고 요청 합 니 다.rep.data.data.resources 는 data 이 고 fun 은 data=>{}입 니 다.
this.$http.get('/api/search').then(rep => {
this.$refs.main.addResource(rep.data.data.resources, data => {
this.resourceName = data["name"]
this.resourceType = data["type"].name
this.resourceUpdata = data["uploader"]
this.resourcePosition = data["coord"]
console.log(data["attachment"])
let allList = []
data["attachment"].map(i => {
let tempList = []
tempList.push(i)
tempList.push(i.split("/")[i.split("/").length - 1])
allList.push(tempList)
})
this.resourceDetial = allList
//
for(let i=0; i<data["images"].length; i++){
this.resourceImage.push(data["images"][i])
}
if (data["images"].length > 0){
this.isExistImage = true
}else{
this.isExistImage = false
}
//
if (data["attachment"].length > 0){
this.isExistAttach = true
}else{
this.isExistAttach = false
}
//
this.modal1 = true
})
})
구조 함수 에서 이렇게 처리 합 니 다.
this._fun = e => {
fun(data)
if(typeof(e.preventDefault()) == 'function'){
e.preventDefault() // IE
}else{
e.stopPropagation() // chrome
}
}
마지막 으로 적당 한 위치 에 이벤트 추가
wrapDiv.addEventListener("touchstart", this._fun);
wrapDiv.addEventListener("click", this._fun);
본 고 는 이미《Vue.js 전단 구성 요소 학습 튜 토리 얼》로 정리 되 었 으 니,여러분 의 학습 과 독 서 를 환영 합 니 다.vue.js 구성 요소 에 대한 튜 토리 얼 은 주제vue.js 구성 요소 학습 강좌를 클릭 하여 학습 하 십시오.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
vue2.*elementtabstab-pane 동적 불러오는 구성 요소 작업프레임워크에서 el-tabs를 사용합니다. 탭을 전환하면 실시간 불러오는 방법과 el-table 표 사용 요약... 우리가 개발 중tab 전환을 만났을 때 엘의el-tabs를 사용하면 매우 편리하다 그러나 내가 코드...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.