아니요, vue 프로젝트에는 여러 vue 인스턴스가 포함될 수 있습니다. vue 프로젝트에는 일반적으로 main.js에 정의된 VUE 인스턴스가 하나만 있고 나머지는 vue 구성 요소 인스턴스입니다. Vue는 인스턴스로 구성됩니다. 구성 요소는 Vue의 인스턴스입니다. 속성은 각 구성 요소 내에 작성될 수 있으므로 각 구성 요소는 Vue의 인스턴스입니다.
이 튜토리얼의 운영 환경: windows7 시스템, vue3 버전, DELL G3 컴퓨터.
아니요, vue 프로젝트에는 여러 vue 인스턴스가 포함될 수 있습니다.
Vue는 인스턴스로 구축됩니다. 구성 요소는 Vue의 인스턴스입니다. 속성은 각 구성 요소 내에 작성될 수 있으므로 각 구성 요소는 Vue의 인스턴스입니다. vue 프로젝트에는 일반적으로 main.js에 정의된 VUE 인스턴스가 하나만 있고 나머지는 vue 구성 요소 인스턴스입니다.
Vue 인스턴스
Vue를 사용하여 프로젝트를 작성할 때 가장 중요한 것은 Vue 인스턴스를 학습하는 방향을 제공하는 것입니다. 점차적으로 Vue 인스턴스와 관련된 "기능"을 익히는 것이 우리의 최종 목표입니다. .
먼저 vue.js를 html 파일로 로드합니다. 스크립트 태그를 통해 vue.js 파일을 직접 로드할 수 있습니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vue实例</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <body>
브라우저로 이 페이지를 열고 콘솔에 Vue를 입력하면 Vue가 본질적으로 함수:
사실 Vue는 "클래스"로 간주될 수 있는 생성자이며 해당 인스턴스는 new를 통해 생성됩니다. 그러면 한 페이지에 몇 개의 인스턴스를 만들 수 있습니까?
보통 한 페이지에 하나의 Vue 인스턴스만 생성됩니다:
<body> <div id="app">Hello {{ msg }}</div> <script> const vm = new Vue({ el: '#app', data: function () { return { msg: '前端小课' } } }); </script> </body>
Vue 인스턴스를 생성할 때 "사용자 정의된" 객체가 전달됩니다. 위의 객체를 다른 쓰기 방식으로 변경할 수 있습니다:
<body> <div id="app">Hello {{ msg }}</div> <script> const obj = { el: '#app', data: function () { return { msg: '前端小课' } } } const vm = new Vue(obj); </script> </body>
In the obj 객체에는 Vue 인스턴스에 제공되는 "템플릿"을 나타내는 el 속성이 있습니다. 즉, 인스턴스를 생성할 때 Vue에 렌더링되는 HTML과 사이에 일종의 연결을 설정하는 방법을 알려야 합니다. HTML과 obj에서 수행할 작업입니다. 예를 들어 HTML 템플릿에 표시될 데이터를 Vue 인스턴스의 데이터와 연결하는 방법, HTML 템플릿에서 트리거되는 이벤트에 응답하는 방법 등이 있습니다. 연결을 설정하려면 템플릿과 Vue 인스턴스 간에 계약이 이루어져야 합니다.
el은 선택기 또는 HTMLElement(DOM을 여는 디자인 아키텍처) 인스턴스일 수 있습니다. el을
el: document.getElementById('app'),
로 작성하거나 임의의 선택기가 될 수 있습니다.
el: 'div',
아래에 표시된 결과는 무엇입니까?
마지막으로 "Good morning, check in!"이라는 제목의 값이 HTML로 렌더링되지 않은 것이 발견되었습니다. 이는 제목이 있는 div가 Vue 인스턴스의 범위 내에 있지 않기 때문입니다. 이는 Vue 인스턴스만 사용할 수 있음을 의미합니다. 인스턴스가 생성된 템플릿(예: el이 가리키는 템플릿)으로 이동하세요.
실제로 한 페이지에서 여러 Vue 인스턴스를 만들 수 있습니다. 다음 코드는 3개의 Vue 인스턴스를 생성하고 정상적으로 작동하는지 확인합니다.
<body> <div id="app"> <h1>{{ msg }}</h1> </div> <div id="app-body"> <h4>{{ title }}</h4> </div> <div class="app-footer"> <h4>{{ footer }}</h4> </div> <script> const vm = new Vue({ el: '#app', data: function () { return { msg: "欢迎来到前端小课", } } }); </script> <script> const vmBody = new Vue({ el: '#app-body', data: function () { return { title: "Vue 实例讲解" } } }); </script> <script> const vmFooter = new Vue({ el: '.app-footer', data: function () { return { footer: "感谢阅读", } } }); </script> </body>
브라우저로 열면 다음과 같습니다.
이 예는 "구성 요소는 재사용 가능한 Vue 인스턴스입니다. " 이런 작성 방식은 컴포넌트와 약간 비슷합니다. 각 Vue 인스턴스는 컴포넌트로 간주됩니다. .
또 다른 예를 살펴보겠습니다. Vue 인스턴스에 중첩된 Vue 인스턴스:
<body> <div id="app"> <h1>{{ msg }}</h1> <!-- 这里不能声明一个新的 Vue 实例 --> <div id="app-body"> <h4>会渲染吗?{{ title }}</h4> </div> </div> <script> const vm = new Vue({ el: '#app', data: function () { return { msg: "欢迎来到前端小课", title: "#app - Vue 实例讲解" } } }); </script> <script> const vmBody = new Vue({ el: '#app-body', data: function () { return { title: "#app-body - Vue 实例讲解" } } }); </script> </body>
렌더링 결과는 다음과 같으며 결과는 #app 인스턴스의 데이터를 사용하는 것으로 나타났습니다.
또한 많은 API가 있으며 각 API를 단계별로 학습해야 합니다. 예를 들어 수명 주기 함수, 계산된 속성, 정의 방법, 필터:
[관련 권장 사항: vuejs 비디오 튜토리얼, 웹 프론트 엔드 개발]
위 내용은 vue 프로젝트에는 vue 인스턴스가 하나만 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!