• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Vue 게시판 html 태그 id를 변수로 바인딩하기

html 태그 id를 변수로 바인딩하기

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #20106

    쿨백스
    참가자

    안녕하세요 궁금한 점이 있어 글 남깁니다.

    vue에서 data변수를 바인딩함에 있어서 HTML 속성에도 바인딩이 된다고

    수업에서 들었는데요

     

    제가 plotly js라는 차트 라이브러리를 활용하는 부분에서 조금 막혔습니다.

     

    <div id="차트1"></div>

    <script> Plotly.newPlot("차트1", data) </script>

    위 처럼 연결해주면 차트가  화면에 나오는게 기본 활용법 인데요

     

    저 id부분을 변수로 바인딩 하려고 시도중입니다.(v-for 반복이 필요해서요)

    <div :id="a"></div>

    data(){ return{ a : '차트1' } } 과 같이

    선언적으로 하드코딩 된 네이밍을 HTML에 바인딩 잘되어 차트가 일단 잘 나옵니다. 

     

    그런데

    data(){ return{ a : '' } 로 선언한 뒤

    로직 처리 과정에서 this.a = '차트1' 이라고 할당을 해주면

    HTML에 제대로 바인딩이 안된 건지 화면에 표기가 되지 않더라구요.

     

    혹시 어떤 부분에 문제가 있거나 체크를 해보면 좋을까요ㅠ 

     

     

    #20109

    codingapple
    키 마스터

    this.a = '차트1' 이거 실행하고 나서 

    Plotly.newPlot("차트1", data) 이 코드도 실행해달라고 쓰면 될듯 합니다 

    #20111

    쿨백스
    참가자

    답변 감사합니다.

    말씀하신 차트 그리는 함수는 id용 변수 할당 아래 부분에

    이미 코드화 시켜놓은 상태입니다. 요 상태에서 지금 안되서요 ㅜ 

    #20114

    쿨백스
    참가자

    다음과 같이 id로 사용할 이름을 가진 변수를 직접 쓰면 동작이 안되구요,

    <tr v-for="row_data in tb_data">
    <td><div :id="row_data.KO"></div></td>
    <td><div :id="row_data.US"></div></td>
    <td><div :id="row_data.IR"></div></td>
    </tr>

    아래처럼 문자열에 index변수를 엮어서 id를 만들어서 해보면 또 잘 됩니다. 
    <tr v-for="index in 10">
    <td><div :id=" '유사'+String(index-1)+'_KO' "></div></td>
    <td><div :id=" '유사'+String(index-1)+'_US' "></div></td>
    <td><div :id=" '유사'+String(index-1)+'_IR' "></div></td>
    </tr>

    어렵네요ㅜ

    #20122

    codingapple
    키 마스터

    개발자도구에서 id명이 div에 잘 박혀있으면 

    Plotly.newPlot("차트1", data) 이 코드가 실행이 잘 안된게 아닐까요

    mounted() 안에서 코드를 실행해봅시다 

    아니면 for 반복문안의 변수를 영어로 작명해봅시다 

    #20160

    쿨백스
    참가자

    네 mounted()에서 다시 시도해보겠습니다.

    감사합니다^^

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠