1. Vue 구성 요소에 SVG 또는 HTML 포함
먼저 draw.io 에서 내보낸 SVG 또는 HTML 내용을 Vue 구성 요소에 포함해야 합니다. SVG 의 경우 SVG 코드를 Vue 구성 요소의 템플릿에 직접 복사할 수 있습니다. HTML 의 경우 유사한 프로세스입니다. HTML 구조가 페이지 레이아웃에 적합한지 확인합니다.
2. ref 속성을 사용하여 요소 참조를 가져옵니다.
Vue 구성 요소에서 ref 속성을 사용하여 SVG 또는 HTML 요소에 대한 참조를 만들 수 있으므로 Vue 인스턴스 내에서 해당 요소에 액세스할 수 있습니다.
& lt 템플릿>
& lt SVG ref = "내 SVG" >
& lt! -SVG 콘텐츠->
& lt/SVG & gt;;
& lt/template & gt;;
3. 마운트된 후크에 이벤트 리스너를 추가합니다
구성 요소의 마운트 라이프 사이클 후크에서 이벤트 리스너를 추가하여 SVG 또는 HTML 요소의 클릭 이벤트를 캡처할 수 있습니다. 이전에 추가한 ref 참조를 사용하여 요소를 가져오고 이벤트 리스너를 추가합니다.
내보내기 기본값 {
설치됨 () {
이것. $ refs.mysvg.addeventlistener ('click', this.handlesvgclick);
},
방법: {
HandleSvgClick (이벤트) {
//클릭 이벤트 처리
Console.log('SVG clicked', 이벤트);
//여기에서 페이지를 팝업하거나 다른 작업을 할 수 있습니다.
}
}
}
4. SVG 또는 HTML 내용을 동적으로 수정합니다.
Vue 의 응답 데이터를 사용하여 색상이나 텍스트와 같은 SVG 또는 HTML 요소의 속성을 동적으로 변경할 수 있습니다. 데이터 속성을 정의한 다음 바인딩 (v-bind 또는 약어:) 을 사용하여 요소 속성을 데이터 속성에 연결합니다.
& lt 템플릿>
& lt SVG ref = "내 SVG" >
& ltcircle: fill = "circlecolor" CX = "50" cy = "50" r = "40"/>
& lt/SVG & gt;;
& lt/template & gt;;
& lt 스크립트 & gt
내보내기 기본값 {
데이터 () {
반환 {
원 색상: "빨간색"
}
},
방법: {
ChangeColor() {
This.circleColor =' blue// 버튼을 클릭하여 색상을 변경합니다.
}
}
}
& lt/스크립트 >
5. 이벤트 리스너를 동적으로 추가 및 제거합니다.
SVG 또는 HTML 요소가 동적으로 생성되는 경우 메모리 누수를 방지하기 위해 적절한 경우 이벤트 리스너를 추가 및 제거해야 합니다. 만들거나 마운트한 후크를 사용하여 리스너를 추가하고 beforeDestroy 후크에서 제거합니다.
내보내기 기본값 {
설치됨 () {
이것. $ refs.mysvg.addeventlistener ('click', this.handlesvgclick);
},
제거 전 () {
이것. $ refs.mysvg.removeeventlistener ('click', this.handlesvgclick);
},
방법: {
HandleSvgClick (이벤트) {
//클릭 이벤트 처리
}
}
}
이러한 단계를 통해 클릭 이벤트 캡처, 페이지 팝업, 요소 속성 변경 등 draw.io 및 Vue 응용 프로그램에서 생성된 SVG 또는 HTML 파일과 상호 작용할 수 있습니다.