Vue3 설정에서 주의할 점은 무엇이며 시계 모니터링 속성은 무엇입니까?

王林
풀어 주다: 2023-05-14 15:31:06
앞으로
1057명이 탐색했습니다.

첫 번째, 설정 지침

1.1 설정 실행 시간

1. 설정 실행 시간은 beforeCreate 실행

Vue3 설정에서 주의할 점은 무엇이며 시계 모니터링 속성은 무엇입니까?

  export default {
    name: "Demo",
    beforeCreate(){
      console.log('beforeCreate已执行');
    },
    setup() {
      console.log('setup已执行');
      let person = reactive({
        name: "小明",
        age: 20,
      });
      return {
        person,
      };
    },
  };
로그인 후 복사

1.2.steup 매개변수

설정 매개변수
1.props보다 빠릅니다. 객체, Contains: 구성 요소 외부에서 전달되고 구성 요소 내에서 수신된 속성

2.context: 컨텍스트 객체
①attrs: 값은 다음을 포함하는 객체입니다. 구성 요소 외부에서 전달되었지만 선언되지 않았습니다. 소품 구성에서 < code>this.$attrsthis.$attrs

  export default {
    name: "Demo",
    props:[&#39;msg&#39;,&#39;age&#39;],
    setup(props) {
      console.log(props);
      let person = reactive({
        name: "小明",
        age: 20,
      });   
      return {
        person,
      };
    },
  };
로그인 후 복사

Vue3 설정에서 주의할 점은 무엇이며 시계 모니터링 속성은 무엇입니까?

②slots: 收到的插槽内容,相当于 this.$slots

在App中定义插槽

<template v-slot:qwe>
<span>123</span>
</template>
<template v-slot:ewq>
<span>321</span>
</template>
로그인 후 복사

在子组件中获取到插槽

 console.log(context.slots); // 得到插槽
로그인 후 복사

Vue3 설정에서 주의할 점은 무엇이며 시계 모니터링 속성은 무엇입니까?

③emit: 分发自定义事件的函数,相当于 this.$emit

<Demo @hi="Hello" msg="山鱼" age=10>
</Demo>
로그인 후 복사

Vue3 설정에 대한 참고 사항 그리고 시계 모니터링 속성의 상황은 무엇입니까?

②slots: 수신된 슬롯 콘텐츠는 this.$slots와 동일합니다.

앱에서 슬롯 정의

  setup() {
    function Hello(){
      console.log(&#39;你好!&#39;);
    }
    return {
      Hello
    }
  }
로그인 후 복사

하위 구성 요소에서 슬롯 가져오기Vue3 설정에서 주의할 점은 무엇이며 시계 모니터링 속성은 무엇입니까?

 function point(){
        context.emit(&#39;hi&#39;,666)
      }     
5TgxPT2v-1681788304084)]

```js
 function point(){
        context.emit(&#39;hi&#39;,666)
      }
로그인 후 복사

Vue3 설정 시 주의할 점과 watch 모니터링 속성 조건은 무엇입니까

3emit: 커스텀 이벤트를 배포하는 함수로 this.$emit와 동일합니다.

앱에서 맞춤 이벤트를 작성하고 이를 구성 요소에 전달합니다

import { reactive,computed} from "vue";
  export default {
    name: "Demo",
    setup() {
      let person = reactive({
        firstName: "小",
        lastName: "明",
      }); 
      // 计算属性的简写形式,不考虑修改,是只读的
      /*person.fullName= computed(()=>{
        return person.firstName+&#39;-&#39;+person.lastName
      }) */
      // 计算属性的完整形式(可以读改)
      person.fullName= computed({
        get(){
          return person.firstName +&#39;-&#39;+person.lastName
        },
        set(value){
          const arr = value.split(&#39;-&#39;)
          person.firstName = arr[0]
          person.lastName = arr[1]
        }
      })
      return {
        person,
      };
    },
  };
로그인 후 복사
    watch(sum, (newvalue, oldvalue) => {
      console.log(&#39;当前值为&#39;+newvalue, &#39;以前值为&#39;+oldvalue);
    });
로그인 후 복사

그런 다음 하위 구성 요소로 이동하여 context.comit을 사용하여 맞춤 이벤트를 가져옵니다

        watch([sum,msg], (newvalue, oldvalue) => {
      console.log(&#39;当前值为&#39;+newvalue, &#39;以前值为&#39;+oldvalue);
    });
로그인 후 복사

Vue2의 계산된 구성 기능

             watch(person,(newValue, oldValue) => {
                console.log(&#39;person变化了&#39;,newValue,oldValue)
             })
로그인 후 복사

둘째, 시계 모니터링 속성에는 두 가지 유형의 시계가 있습니다

, 즉 단일 속성 데이터 모니터링과 다중 속성 데이터 모니터링
watch의 세 가지 매개변수는 모니터링되는 개체, 모니터링되는 기능 및 ref

로 정의된 데이터를 모니터링합니다. ①ref

            watch(()=>person.name,(newValue,oldValue)=>{
               console.log(&#39;person.name发生了变化&#39;,newValue,oldValue)
           })
로그인 후 복사

의 반응형 값을 모니터링하기 위해 속성을 모니터링합니다. ②ref

watch([()=>{person.age},()=>{person.name}],(newValue,oldValue)=>{
                console.log(&#39;person.name发生了变化&#39;,newValue,oldValue)
            })
로그인 후 복사
로 정의된 여러 반응형 데이터를 모니터링합니다.

Reactive

로 정의된 데이터를 모니터링합니다. 리액티브 정의 데이터의 변경

🎜🎜Reactive를 사용하여 정의된 데이터는 watch🎜🎜🎜를 사용하여 newValue를 올바르게 얻을 수 없으며 심층 모니터링이 강제로 열리게 됩니다.🎜🎜
 watch(()=>person.job,(newValue,oldValue)=>{
                console.log(&#39;person.name发生了变化&#39;,newValue,oldValue)
            }, {deep: true})
로그인 후 복사
🎜②Reactive🎜rrreee🎜3에서 정의한 반응형 데이터의 특정 속성을 모니터링합니다. 반응형🎜rrreee에 의해 정의된 반응형 데이터의 속성🎜4특수 상황🎜🎜참고: 이 상황은 반응형으로 정의된 객체의 특정 속성을 모니터링하므로 deep을 켤 수 있습니다🎜rrreee

위 내용은 Vue3 설정에서 주의할 점은 무엇이며 시계 모니터링 속성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿