투케이2K

14. (VueJs) [Vue 3] - data 사용해 인스턴스 객체 생성 시 초기 설정 값 지정 실시 본문

VueJs

14. (VueJs) [Vue 3] - data 사용해 인스턴스 객체 생성 시 초기 설정 값 지정 실시

투케이2K 2022. 5. 30. 14:47
반응형

[개발 환경 설정]

개발 툴 : VS CODE

개발 언어 : Vue Js

 

[소스 코드]

<!--
[MainComponent.vue 설명]
1. App.vue 에 포함된 자식 컴포넌트입니다

2. template : 
   - 화면 상에 표시할 요소 작성 실시
   - 컴포넌트의 모든 마크업 구조와 디스플레이 로직 작성

3. script : 
   - import 구문을 사용해 template에서 사용할 컴포넌트 불러온다
   - export default 구문에서 모듈의 함수, 객체, 변수 등을 다른 모듈에서 가져다 사용 할 수 있도록 내보냅니다

4. style : 
   - 스타일 지정 실시

5. props : 부모가 전달한 데이터를 받을 때 사용합니다 (부모 쪽에서 자식 객체 생성 필요) : 자식쪽에서 동적 변경 불가능

6. {{ message }} : 데이터 바인딩 시 사용

7. @click : 클릭 이벤트 적용 약어 (원본 : v-on:click)

8. data : 컴포넌트 생성 시 초기 데이터 설정 (리턴 값 지정)

9. methods : 메소드 정의 실시

10. this.$parent.부모 메소드 명칭 : 부모 메소드 호출 실시

11. v-model : 데이터 양방향 바인드를 실시합니다 (ex: input text 수정 시 <h1> 태그 값도 동시 변경)
-->





<!-- [개별 템플릿 (뷰) 설정 실시] -->
<template>

  <!-- [부모에서 전달 받음 : props : 데이터 바인딩 지정] -->
  <div>
    <h1>{{ msg }}</h1>
  </div>


  <!-- [data : 데이터 바인딩 지정] -->
  <div>
    <h1>{{ value }}</h1>
  </div>


  <!-- [data : 데이터 바인딩 지정] -->
  <div>
    <h1>{{ data }}</h1>
  </div>


  <!-- [data : 데이터 바인딩 지정] -->
  <div>
    <h1>{{ user.name }}</h1>
  </div>


  <!-- [data : 데이터 바인딩 지정] -->
  <div>
    <h1>{{ user.age }}</h1>
  </div>


  <!-- [data : 데이터 바인딩 지정] -->
  <div>
    <h1>{{ color[0] }}</h1>
  </div>


  <button @click="testMain">이벤트 함수 호출</button>
</template>





<!-- [개별 스크립트 설정 실시] -->
<script>
export default {
  name: 'MainComponent',





  // [부모에서 전달 받은 데이터 : 자식에서 동적 수정 불가능]
  props: {
    msg: String
  },





  // [컴포넌트 생성 시 초기 데이터 설정 (리턴 값 지정)]
  data () {
    return {
      value: "Value", // [데이터 정의]
      data: "Data", // [데이터 정의]

      user: { // [데이터 정의]
        name: "투케이",
        age: 29
      },

      color: [ // [데이터 정의]
        "red", 
        "blue"
      ]
    }    
  },





  // [메소드 정의 실시]
  methods: {

    // [testMain 함수 정의 실시]
    testMain: function(){
      console.log("");
      console.log("[MainComponent] : [testMain] : [start]");
      console.log("");


      // [데이터 바인 딩 값 변경 실시]
      this.value = "Value Click";
      this.data = "Data Click";  
      
      
      // [부모 App.vue 로 메소드 호출 실시 실시]
      this.$parent.logTest();
    }
  }
}
 

[결과 출력]


 

반응형
Comments