Vue 속성과 메소드
속성과 메소드
각 Vue 인스턴스는 data 객체에 있는 모든 속성을 프록시 처리 합니다.
// 데이터 객체
var data = { a: 1 }
// Vue인스턴스에 데이터 객체를 추가합니다.
var vm = new Vue({
data: data
})
// 같은 객체를 참조합니다!
vm.a === data.a // => true
// 속성 설정은 원본 데이터에도 영향을 미칩니다.
vm.a = 2
data.a // => 2
// ... 당연하게도
data.a = 3
vm.a // => 3
데이터가 변경되면 화면은 다시 렌더링됩니다. 유념할 점은, data에 있는 속성들은 인스턴스가 생성될 때 존재한 것들만 반응형이라는 것입니다. 즉, 다음과 같이 새 속성을 추가하면:
vm.b = 'hi'
b가 변경되어도 화면이 갱신되지 않습니다. 어떤 속성이 나중에 필요하다는 것을 알고 있으며, 빈 값이거나 존재하지 않은 상태로 시작한다면 아래와 같이 초기값을 지정할 필요가 있습니다.
data: {
newTodoText: '',
visitCount: 0,
hideCompletedTodos: false,
todos: [],
error: null
}
여기에서 유일한 예외는 Object.freeze ()를 사용하는 경우입니다. 이는 기존 속성이 변경되는 것을 막아 반응성 시스템이 추적할 수 없다는 것을 의미합니다.
var obj = {
foo: 'bar'
}
Object.freeze(obj)
new Vue({
el: '#app',
data: obj
})
<div id="app">
<p>{{ foo }}</p>
<!-- obj.foo는 더이상 변하지 않습니다! -->
<button v-on:click="foo = 'baz'">Change it</button>
</div>
Vue 인스턴스는 데이터 속성 이외에도 유용한 인스턴스 속성 및 메소드를 제공합니다. 다른 사용자 정의 속성과 구분하기 위해 $ 접두어를 붙였습니다.
예:
var data = { a: 1 }
var vm = new Vue({
el: '#example',
data: data
})
vm.$data === data // => true
vm.$el === document.getElementById('example') // => true
// $watch 는 인스턴스 메소드 입니다.
vm.$watch('a', function (newVal, oldVal) {
// `vm.a`가 변경되면 호출 됩니다.
})
나중에 API reference에서 인스턴스 속성과 메소드 전체 목록을 살펴보세요.
게시판 목록
퍼블리셔팁
질문은 상단의 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 857 | HTML | 8년 전 | 1392 | ||
| 856 | HTML | 8년 전 | 1847 | ||
| 855 | HTML | 8년 전 | 2088 | ||
| 854 | HTML | 8년 전 | 1503 | ||
| 853 | HTML | 8년 전 | 2198 | ||
| 852 | HTML | 8년 전 | 3274 | ||
| 851 | HTML | 8년 전 | 3246 | ||
| 850 | HTML | 8년 전 | 2087 | ||
| 849 | HTML | 8년 전 | 1667 | ||
| 848 | HTML | 8년 전 | 1825 | ||
| 847 | HTML | 8년 전 | 1721 | ||
| 846 | HTML | 8년 전 | 1912 | ||
| 845 | HTML | 8년 전 | 2040 | ||
| 844 | HTML | 8년 전 | 1986 | ||
| 843 | HTML | 8년 전 | 2205 | ||
| 842 | HTML | 8년 전 | 2049 | ||
| 841 | HTML | 8년 전 | 1967 | ||
| 840 | HTML | 8년 전 | 2327 | ||
| 839 | HTML | 8년 전 | 1911 | ||
| 838 | HTML | 8년 전 | 2177 | ||
| 837 | HTML | 8년 전 | 2015 | ||
| 836 | HTML | 8년 전 | 2041 | ||
| 835 | HTML | 8년 전 | 2204 | ||
| 834 | HTML | 8년 전 | 1544 | ||
| 833 | HTML | 8년 전 | 1902 | ||
| 832 | HTML | 8년 전 | 1381 | ||
| 831 | HTML | 8년 전 | 2440 | ||
| 830 | HTML | 8년 전 | 1655 | ||
| 829 | HTML | 8년 전 | 1260 | ||
| 828 | HTML | 8년 전 | 2481 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기