>웹 프론트엔드 >JS 튜토리얼 >Vue의 라이프사이클(후크 기능)을 이해하는 방법

Vue의 라이프사이클(후크 기능)을 이해하는 방법

清浅
清浅원래의
2019-04-18 15:57:3839742검색

Vue 라이프사이클(후크 기능)은 Vue 인스턴스 객체의 생성부터 소멸까지의 과정을 나타냅니다. Vue 라이프사이클 후크 기능은 실제로 Vue 인스턴스의 옵션입니다. 이 옵션의 값은 모두 이 단계에 도달하는 한 인스턴스 수명의 다양한 단계를 나타내는 함수입니다. 자동으로 실행됩니다.

Vue의 라이프사이클(후크 기능)을 이해하는 방법

【추천 강좌: Vue Tutorial

Vue의 라이프 사이클은 무엇을 의미하나요?

일반인의 관점에서 Vue의 수명 주기는 Vue로 작성한 웹 페이지가 브라우저에서 실행된 후 우리가 작성한 코드가 메모리에서 실행되어야 함을 의미합니다. 예를 들어, 우리 모두는 new로 생성된 Vue 인스턴스인 var vm = new Vue();를 작성합니다. 이 인스턴스 생성부터 브라우저를 닫을 때 인스턴스가 종료될 때까지 이 기간 동안 Vue 프레임워크는 무엇을 하는지, Vue 인스턴스는 무엇을 하는지, 먼저 수행되는 작업, 나중에 수행되는 작업 및 수행되는 작업은 무엇입니까? 이 일련의 것들 사이의 관계는 무엇입니까? 예, 이것이 Vue의 수명주기입니다.

Vue의 수명 주기는 생성 단계, 실행 단계, 파괴 단계의 세 단계로 나뉩니다.

사진에는 생애주기의 각 부분을 표시하고 필요한 설명을 해봤습니다.

Vue의 라이프사이클(후크 기능)을 이해하는 방법

프로세스 설명(그림의 작업에 해당하는 12단계):

1 Vue 인스턴스를 생성하고 Create() 이전에 후크 함수를 실행합니다. 【인스턴스 생성 전】

2.인스턴스를 초기화합니다.

3. 인스턴스 멤버를 뷰 모델에 마운트하고 생성된 후크 함수를 실행합니다. [인스턴스 생성 후]

4. el 객체가 있는지 확인합니다. [el 객체는 우리가 제어하는 ​​뷰가 어느 영역인지 나타내는 데 사용됩니다].

5.el 객체가 있는 경우 템플릿 사용 여부를 확인합니다.

6. 템플릿을 사용하는 경우 템플릿을 컴파일하는 방법을 따르세요. 그렇지 않은 경우 el에서 제어하는 ​​뷰 영역을 템플릿으로 렌더링합니다. Mount() 이전에 Hook 함수를 실행합니다. [인스턴스 마운트 전]

7. 원래 el 뷰 영역을 변경된 새로운 el 뷰 영역으로 교체합니다. [인스턴스가 마운트된 후] 후크 함수 Mounted()를 실행합니다.

8. 실행 단계에 들어갑니다. 실행 단계에서는 Update() 이전에 일부 작업을 수행하고 후크 기능을 실행합니다. [데이터 업데이트 전]

9. 작업이 완료된 후 데이터를 페이지에 렌더링하고 후크 함수()를 실행합니다. [데이터 업데이트 후]

10. 소멸 단계 진입 후 후크 함수 beforeDestroy() 실행 [인스턴스 소멸 전]

11. 소멸을 수행하고 모니터, 하위 구성 요소 및 이벤트 리스너를 분해합니다.

12. 소멸이 완료되면 destroy()라는 후크 함수를 실행합니다. [인스턴스 소멸 후]

  • 라이프 사이클의 Hook 함수는 Vue가 라이프 사이클 동안 실행해야 하는 이벤트입니다. 이러한 이벤트는 실제로 함수입니다.

  • 물론 이러한 이벤트를 통해 프로그래머는 Vue의 수명 주기가 이 지점에 도달할 때 원하는 작업을 수행하는 코드를 작성할 수 있습니다.

  • 인스턴스 생성 단계와 파괴 단계의 6가지 후크 함수는 항상 한 번 실행됩니다. 한번 실행되면 다시 실행되지 않습니다.

그림에 언급되어 있습니다: Vue 라이프 사이클에서 init 이벤트가 실행된 후에 정의한 인스턴스 멤버에만 액세스할 수 있으며, 이 지점은 인스턴스 멤버에 액세스할 수 있는 가장 빠른 지점이기도 합니다. 이제 코드를 살펴보겠습니다.

<body>
    <div id="app"></div>
    //这里的路径为本机上的vue.js路径
    <script src="./lib/vue.js"></script>
    <script>
        var vm = new Vue({
            el : &#39;#app&#39;,
            data : {
                msg : &#39;我是初始值&#39;
            },
            methods : {
                show : function(){
                    console.log(this.msg);
                }
            },
            beforeCreate(){
                console.log(this.msg);
            },
            created(){
                console.log(this.msg);
            }
        });
    </script>
</body>

결과는 그림과 같습니다.

Vue의 라이프사이클(후크 기능)을 이해하는 방법

beforeCreate() 중에는 unundefined를 출력하고,created() 후에는 msg값을 출력하는 것을 볼 수 있습니다.

이것은 Vue의 인스턴스 멤버가 생성된 후에만 VM에 마운트된다는 것을 보여줍니다. 따라서 인스턴스 멤버가 생성된 후에 액세스하여 인스턴스 멤버에 액세스할 수 있습니다.

위 내용은 Vue의 라이프사이클(후크 기능)을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.