>웹 프론트엔드 >프런트엔드 Q&A >Vue의 믹스인이 수명주기를 사용할 수 있나요?

Vue의 믹스인이 수명주기를 사용할 수 있나요?

青灯夜游
青灯夜游원래의
2022-12-15 14:25:222922검색

Vue 믹스인은 수명주기를 사용할 수 있습니다. 믹스인의 라이프사이클은 믹스인을 도입하는 컴포넌트의 라이프사이클과 함께 호출되며, 믹스인의 라이프사이클 함수는 믹스인을 도입하는 컴포넌트보다 빠르게 호출됩니다. 여러 믹스인의 라이프 사이클은 병합되어 함께 실행되지만, 동일한 이름을 가진 속성과 메서드는 병합할 수 없으므로 충돌이나 덮어쓰기가 발생할 수 있습니다.

Vue의 믹스인이 수명주기를 사용할 수 있나요?

이 튜토리얼의 운영 환경: windows7 시스템, vue3 버전, DELL G3 컴퓨터.

믹스인 기본 소개

개발 과정에서 동일한 로직과 기능을 가진 일부 구성 요소를 만나게 되므로 각 구성 요소에 코드 세트를 작성하지 않으므로 코드 중복이 발생합니다.

믹스인의 기능은 동일한 로직과 기능을 추출하여 단일 파일로 나누는 것입니다. 구성 요소는 믹스인만 도입하면 동일한 기능을 얻을 수 있습니다.

mixins를 사용하면

src 폴더에 mixins 폴더도 생성되고 그 안에 해당 mixin.js 파일이 작성됩니다. 아래와 같이:

Vue의 믹스인이 수명주기를 사용할 수 있나요?

js 파일을 사용하여 아래와 같이 vue의 스크립트 부분을 추출합니다.

  data(){
    return {}
  },
  methods:{},
  computed:{},
  filters:{},  created(){},  mounted(){
    console.log("我是mixins");
  }
}复制代码

컴포넌트에 mixin을 도입하고 다음과 같이 사용할 수 있습니다.

Vue의 믹스인이 수명주기를 사용할 수 있나요?

mixin의 특징

1. 믹스인의 라이프사이클은 mixins을 도입하고 를 함께 호출하는 컴포넌트의 라이프사이클과 통합되며, 믹스인의 라이프사이클 함수는 소개하는 컴포넌트보다 빠르게 호출됩니다. . [관련 권장 사항: vuejs 비디오 튜토리얼, 웹 프론트 엔드 개발]

Vue의 믹스인이 수명주기를 사용할 수 있나요?

Vue의 믹스인이 수명주기를 사용할 수 있나요?

Vue의 믹스인이 수명주기를 사용할 수 있나요?2. 믹스인에 같은 이름이 있습니다.

Vue의 믹스인이 수명주기를 사용할 수 있나요?

Vue의 믹스인이 수명주기를 사용할 수 있나요?

Vue의 믹스인이 수명주기를 사용할 수 있나요?3. 다른 믹스인에 동일한 이름을 가진 메서드가 도입된 순서대로 도입되며, 마지막 메서드가 동일한 이름을 가진 이전 메서드를 재정의합니다.

mixin의 단점

1. 변수의 소스가 불분명하여(암시적으로 전달됨) 읽기에 도움이 되지 않으며 코드를 유지 관리하기가 어렵습니다.

여러 믹스인을 구성 요소에 도입하고 믹스인의 변수/메서드를 직접적이고 암시적으로 호출할 수 있습니다. 이는 때때로 이러한 변수와 메소드가 어떤 믹스인에 속해 있는지 구분할 수 없게 만듭니다.

2. 여러 믹스인의 수명 주기는 병합되어 함께 실행되지만 동일한 이름을 가진 속성과 메서드는 병합할 수 없으므로 충돌이나 덮어쓰기가 발생할 수 있습니다.

예를 들어 컴포넌트 1의 메소드는 속성 정보를 출력해야 하지만

컴포넌트 2에도 동일한 이름의 속성 정보가 있고 컴포넌트 1의 속성 정보를 포함합니다.

그러면 컴포넌트 1의 메소드가 실행될 때 , 출력은 실제로
의 구성 요소 2 속성입니다. 이를 피할 수 있지만 주의하지 않으면 충돌이 발생하고 혼란이 생기기 쉽습니다.

3. 믹스인과 구성 요소 사이에는 다대다 관계가 있을 수 있으며 복잡성이 높습니다.

즉, 하나의 구성 요소가 여러 믹스인을 참조할 수 있고 하나의 믹스인도 여러 구성 요소에서 참조할 수 있습니다.

(학습 영상 공유:

vuejs 입문 튜토리얼

, 기본 프로그래밍 영상)

위 내용은 Vue의 믹스인이 수명주기를 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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