beyolk / study

0 stars 0 forks source link

02.Vue 인스턴스 #7

Open kei9327 opened 5 years ago

kei9327 commented 5 years ago

Vue 인스턴스란?

인스턴스 생성

new Vue({
    el: '#app', // 대상이 되는 html element 또는 css selector (vm.$el)

    template: '', // Vue 인스턴스의 마크업으로 사용할 문자열 템플릿

    data: {}, // 화면을 그리는데 사용되는 데이터들(vm.$data)

    props: [], // 부모 컴포넌트로부터 전달받은 property들의 Array 또는 Object

    methods: {}, // 화면을 그리는데 사용되는 메소드들

    computed: {}, // 계산된 속성. getter와 setter는 자동으로 this context를 Vue 인스턴스에 바인딩함

    watch: {} //감시될 속성. Vue 인스턴스에 데이터가 변경되는 시점에 호출
});

※ 참고 options 속성이나 콜백에 created: () => console.log(this.a) 이나 vm.$watch('a', newValue => this.myMethod()) 와 같은 화살표 함수 사용을 지양하기 바랍니다. 화살표 함수들은 부모 컨텍스트에 바인딩되기 때문에, this 컨텍스트가 호출하는 Vue 인스턴스에서 사용할 경우 Uncaught TypeError: Cannot read property of undefined또는Uncaught TypeError: this.myMethod is not a function와 같은 오류가 발생하게 됩니다.

데이터

{
   value1:'this is value 1',// value1, value2를 객체의 속성이라고 이야기 하겠습니다. 
   value2:'this is value 2'
}

### 속성
- 부모 컴포넌트로부터 전달 받은 속성들의 Array 혹은 Object
```html
<div>
  <HellowWord title="Hello Vue" desc="Vue Instance" />
</div>
{
  props:['title','desc'],
  /* 혹은 고급 옵션을 사용하기 위한 Object
  props: {
    title: String, // 타입 설정
    desc: {
      required: true, // 필수값 설정
      default: '설명이 없습니다.' // 기본 값 설정
    }
  }
 */
}

computed (계산된 속성)

Watch (감시된 속성)

라이프사이클

lifecycle

beforeCreate: Vue 인스턴스가 생성되기 전 created: vue 인스턴스가 생성된 후 beforeMount: Vue 인스턴스가 마운트되기 전 Mounted : Vue 인스턴스가 마운트된 후 beforeDestory: Vue 인스턴스가 파괴된기 전 Destory: Vue 인스턴스가 파괴된 후 beforeUpdate: Vue 인스턴스의 데이터가 변경되어 다시 렌더링하기 전 upDated: Vue 인스턴스의 데이터가 변경되어 다시 렌더링한 후