본문 바로가기
vue.js

Reactivity

by 신방동불주먹 2023. 1. 10.

<Reactivity>

반응성.
데이터의 변화를 라이브러리에서 감지해 알아서 화면을 자동으로 그려주는 것 - 데이터 바인딩
 
 
<Object.defineProperty>
 
객체의 특정 습성, 동작을 재정의 하는 api
 
 
문법 : 
Object.defineProperty(대상객체, 객체의 속성, {
정의할 내용
}
 
       Object.defineProperty(viewModel, 'str',{
            //속성에 접근했을 때의 동작을 정의
            get:function(){
                console.log('접근');
            },
            //속성에 값을 할당했을 때의 동작을 정의
            set:function() {
                console.log('할당', newValue)
            }
        })

 

<Reactivity 라이브러리화>

 

자동실행함수를 사용

<body>
    <div id="app"></div>

    <script>
        var div = document.querySelector('#app');
        var viewModel = {};

        (function(){
        function init(){
        Object.defineProperty(viewModel, 'str', {
            //속성에 접근했을 때의 동작을 정의
            get: function() {
                console.log('접근');
            },
            //속성에 값을 할당했을 때의 동작을 정의
            set: function() {
                console.log('할당', newValue);
                render(newValue);
            }
        })

        function render(value){
        div.innerHTML = value;

        }
        init();
    })();
    </script>
</body>

 

'vue.js' 카테고리의 다른 글

컴포넌트 통신 - props  (0) 2023.01.10
컴포넌트  (0) 2023.01.10
뷰 인스턴스  (0) 2023.01.10
vscode플러그인  (0) 2023.01.10
nodejs와 vuejs  (0) 2023.01.09