목록, 테이블, 양식 등과 같은 구성 요소를 재사용하기 위해 Vue에서 믹스인을 사용하는 팁
Vue는 현대적이고 효율적인 웹 애플리케이션을 구축하기 위한 많은 강력한 기능과 도구를 갖춘 인기 있는 JavaScript 프레임워크입니다. 그 중 하나가 믹스인입니다. Mixin은 Vue의 고급 메커니즘으로, 컴포넌트에서 재사용 가능한 기능 부분을 추출하여 이러한 기능을 효과적으로 재사용할 수 있도록 해줍니다. 이는 목록, 테이블, 양식과 같은 공통 컴포넌트를 개발할 때 매우 유용합니다.
Mxin 작동 방식
mixin은 객체를 복사하는 것으로 이해될 수 있습니다. 믹스인 객체를 다른 객체에 복사하여 두 객체를 새로운 객체로 병합할 수 있습니다. Vue 구성 요소에 mixin 객체를 추가하면 mixin 객체의 모든 속성과 메서드가 구성 요소에 복사됩니다. 또한 mixin 개체와 구성 요소의 속성이나 메서드가 동일한 경우 구성 요소의 속성이나 메서드는 mixin 개체의 동일한 속성이나 메서드를 재정의합니다.
다음 코드를 통해 믹스인을 만들 수 있습니다.
const myMixin = { data() { return { message: 'Hello, mixin!' } }, methods: { foo() { console.log('foo'); } } };
믹스인은 일반적으로 구성 요소에 혼합되어 있습니다. 다음 코드를 통해 구성 요소에 믹스인을 추가할 수 있습니다.
const Component = Vue.extend({ mixins: [myMixin], data() { return { anotherMessage: 'Hello, component!' } }, methods: { bar() { console.log('bar'); } } });
이 예에서는 Vue 구성 요소를 만들고 혼합합니다. myMixin
을 mixins
속성을 통해 구성 요소에 추가하면 구성 요소가 myMixin
및 데이터</code를 갖게 됩니다. >메서드
속성. myMixin
通过 mixins
属性混合到组件中,这样组件中就具有了 myMixin
中声明的 data
和 methods
属性。
实现复用组件
现在,我们以列表组件为例,来探讨如何使用 mixin 实现复用组件。
首先我们可以创建一个列表数据 mixin(假定所有列表组件都需要用到数据),我们创建一个名为 listDataMixin
的 mixin:
export default { data: function() { return { list: [], currentPage: 1, pageSize: 10, total: 0 }; }, computed: { totalPage() { return Math.ceil(this.total / this.pageSize); } }, methods: { getItems() {}, changePage() {}, refreshList() {} }, mounted() { this.refreshList(); } };
在这里,listDataMixin
定义了一个包含数据、计算属性和方法的对象,其中:
data
部分定义了通用的列表相关的基本数据:list
:当前页的列表数据;currentPage
:当前页数;pageSize
:每页显示多少条记录;total
:共有多少条记录;
computed
部分定义值计算属性totalPage
,该属性获取了总页数,通过Math.ceil
计算获得;methods
部分定义了常用的操作方法:getItems()
:获取当前页数据;changePage(pageNumber)
:切换页面,传入页码参数;refreshList()
:刷新列表数据;
mounted
部分执行refreshList()
方法,渲染页面前自动获取请求数据并刷新列表。
以上就是一个通用的列表数据 Mixin,该 Mixin 中的属性和方法可以进行重复利用。可以通过下面的代码将该 Mixin,添加到你的列表组件中来使用:
<template> <div> <table> <thead> <tr> <th>表头</th> </tr> </thead> <tbody> <tr v-for="(item, index) in list" :key="index"> <td>{{ item }}</td> </tr> </tbody> </table> <div class="pagination"> <a v-if="currentPage > 1" @click="changePage(currentPage - 1)">上一页</a> <a v-for="pageNumber in totalPage" :key="pageNumber" :class="{ active: pageNumber === parseInt(currentPage) }" @click="changePage(pageNumber)">{{ pageNumber }}</a> <a v-if="currentPage < totalPage" @click="changePage(currentPage + 1)">下一页</a> </div> </div> </template> <script> import listDataMixin from '../mixin/listDataMixin'; export default { mixins: [listDataMixin], methods: { getItems() {}, changePage() {}, refreshList() {} } }; </script>
我们在组件中添加了 listDataMixin
listDataMixin
이라는 이름의 믹스인을 생성합니다. rrreee
여기,listDataMixin
코드 >는 데이터, 계산된 속성 및 메서드를 포함하는 객체를 정의합니다. 여기서: 🎜- 🎜
data
부분은 일반 목록 관련 기본 데이터를 정의합니다: 🎜-
list
: 현재 페이지의 데이터 나열; -
currentPage
: 현재 페이지 번호; -
pageSize
: 방법 각 페이지에는 많은 레코드가 표시됩니다; -
total
: 총 레코드 수;
-
-
계산
은 총 페이지 수를 가져오고Math.ceil
; - 🎜을 통해 계산되는 값 계산 속성
totalPage
를 부분적으로 정의합니다.메소드
섹션은 일반적으로 사용되는 작업 메소드를 정의합니다: 🎜-
getItems()
: 현재 페이지 데이터를 가져옵니다. -
changePage(pageNumber)
: 페이지를 전환하고 페이지 번호 매개변수를 전달합니다. -
refreshList()
: 목록 데이터를 새로 고칩니다.
-
-
mounted
부분은refreshList()
메서드를 실행하여 요청된 데이터를 자동으로 가져오고 페이지를 렌더링하기 전에 목록을 새로 고칩니다.
listDataMixin
Mixin을 구성 요소에 추가했으며 구성 요소가 공개 데이터 및 공용 서비스를 통해 구성요소 재사용이 가능해집니다. 🎜🎜필드와 메서드를 공개로 유지하면서 다른 시나리오에 적합한 특정 기능을 얻기 위해 다른 구성 요소에 동일한 Mixin을 다시 추가할 수 있습니다. 이를 통해 코드 재사용률을 크게 향상시킬 수 있습니다. 🎜🎜요약🎜🎜이 글에서는 믹스인을 사용하여 Vue.js에서 공통 기능 부분을 재사용하는 방법과 이러한 기능을 목록 구성 요소에 적용하는 방법을 소개했습니다. 믹스인을 사용하면 구성 요소 논리를 공유하고 재사용 가능한 코드 기반을 구축할 수 있으므로 확장성, 유지 관리성 및 코드 복제가 향상됩니다. 더 강력한 웹 애플리케이션 구축을 시작할 수 있도록 믹스인을 사용하는 방법에 대한 몇 가지 아이디어를 제공하였기를 바랍니다. 🎜위 내용은 목록, 테이블, 양식 등과 같은 구성 요소를 재사용하기 위해 Vue에서 믹스인을 사용하는 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML 템플릿의 버튼을 메소드에 바인딩하여 VUE 버튼에 함수를 추가 할 수 있습니다. 메소드를 정의하고 VUE 인스턴스에서 기능 로직을 작성하십시오.

vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

vue.js에서 JS 파일을 참조하는 세 가지 방법이 있습니다. & lt; script & gt; 꼬리표;; mounted () 라이프 사이클 후크를 사용한 동적 가져 오기; Vuex State Management Library를 통해 수입.

vue.js의 시계 옵션을 사용하면 개발자가 특정 데이터의 변경 사항을들을 수 있습니다. 데이터가 변경되면 콜백 기능을 트리거하여 업데이트보기 또는 기타 작업을 수행합니다. 구성 옵션에는 즉시 콜백을 실행할지 여부와 DEEP를 지정하는 즉시 포함되며, 이는 객체 또는 어레이에 대한 변경 사항을 재귀 적으로 듣는 지 여부를 지정합니다.

vue.js는 이전 페이지로 돌아갈 수있는 네 가지 방법이 있습니다. $ router.go (-1) $ router.back () 사용 & lt; router-link to = & quot;/quot; Component Window.history.back () 및 메소드 선택은 장면에 따라 다릅니다.

VUE 멀티 페이지 개발은 vue.js 프레임 워크를 사용하여 응용 프로그램을 구축하는 방법입니다. 여기서 응용 프로그램은 별도의 페이지로 나뉩니다. 코드 유지 보수 : 응용 프로그램을 여러 페이지로 분할하면 코드를보다 쉽게 관리하고 유지 관리 할 수 있습니다. 모듈 식 : 각 페이지는 쉬운 재사용 및 교체를 위해 별도의 모듈로 사용할 수 있습니다. 간단한 라우팅 : 페이지 간의 탐색은 간단한 라우팅 구성을 통해 관리 할 수 있습니다. SEO 최적화 : 각 페이지에는 자체 URL이있어 SEO가 도움이됩니다.

Vue DevTools를 사용하여 브라우저 콘솔에서 vue 탭을 보면 VUE 버전을 쿼리 할 수 있습니다. npm을 사용하여 "npm list -g vue"명령을 실행하십시오. package.json 파일의 "종속성"객체에서 vue 항목을 찾으십시오. Vue Cli 프로젝트의 경우 "vue -version"명령을 실행하십시오. & lt; script & gt에서 버전 정보를 확인하십시오. vue 파일을 나타내는 html 파일의 태그.

VUE의 기능 차단은 지정된 기간 내에 기능이 호출되는 횟수를 제한하고 성능 문제를 방지하는 데 사용되는 기술입니다. 구현 방법은 다음과 같습니다. lodash 라이브러리 가져 오기 : 'lodash'에서 import {debounce}; Debounce 기능을 사용하여 인터셉트 기능을 만듭니다. const debouncedfunction = debounce (() = & gt; { / logical /}, 500); 인터셉트 함수를 호출하면 제어 기능이 최대 500 밀리 초 안에 한 번 호출됩니다.
