vue3에서 element-plus를 사용하여 메시지를 호출하는 방법

WBOY
풀어 주다: 2023-05-17 15:52:31
앞으로
3014명이 탐색했습니다.

    vue3은 element-plus를 사용하여 message

    Environment: vue3+typescript+element-plus

    1 전역적으로 요소를 도입한 후

    element가 app.config에 전역 메서드 $message

    를 추가했습니다. globalProperties

    그래서 옵션 API

      mounted(){
        (this as any).$message.success("this.$message");
      }
    로그인 후 복사

    2에서 직접 사용할 수 있습니다. 구성 API에서 설정 메소드는 두 개의 변수

    props를 전달하고 context는 이를 컨텍스트로 대체하지만 context에는 내보내기, attrs만 있습니다. 및 슬롯, 설정에서 이를 직접 사용하면 문제가 발생합니다. 공식 웹사이트의 설명:

    setup() 내부에서는 다른 구성 요소 옵션을 구문 분석하기 전에 setup()이 호출되므로 이는 활성 인스턴스에 대한 참조가 아닙니다. setup() 내부의 이 동작은 다른 옵션의 동작과 완전히 다르게 동작합니다. setup()에서 다른 선택적 API와 함께 사용하면 혼란이 발생할 수 있습니다.

    따라서 getCurrentInstance 메소드를 호출하여 인스턴스를 얻을 수 있습니다. 이 방법은 element-plus를 전역

    //helloworld.vue
    import { getCurrentInstance, defineComponent,onMounted } from 'vue';
    export default  = defineComponent{
    setup(omprops,content){
        onMounted(()=>{
          getCurrentInstance()?.appContext.config.globalProperties.$message.success("聪明");
        })
    }
    로그인 후 복사

    3 도입한 후 바로 사용할 수 있습니다. 또 다른 방법은 Provide/inject

    //main.ts
    import { createApp } from 'vue'
    import App from './App.vue'
    import element from 'element-plus'
    import 'element-plus/lib/theme-chalk/index.css'
    import {ElMessage} from 'element-plus'
    const app = createApp(App)
    app.use(element)
    //如果没有全局引用element,还需写下面一句
    //app.config.globalProperties.$message = ElMessage;
    app.provide('$message', ElMessage)
    app.mount('#app')
    로그인 후 복사
    //helloworld.vue
    import { inject, defineComponent,onMounted } from 'vue';
    export default  = defineComponent{
    setup(omprops,content){
        onMounted(()=>{
          (inject('$message') as any).success("inject");
        })
    }
    로그인 후 복사

    4를 사용하는 것입니다. Composition API에서 작성하는 가장 간단한 방법은 Element를 사용하여 on Demand

    //helloworld.vue
    import { inject, defineComponent,onMounted } from 'vue';
    import { ElMessage } from 'element-plus'
    export default  = defineComponent{
    setup(omprops,content){
        onMounted(()=>{
          ElMessage.success('按需引入');
        })
    }
    로그인 후 복사

    vue를 도입하는 것입니다. 메시지 구성 요소

    는 vue 파일에서 사용됩니다.

    this.$message({
      message: "提示信息",
      type: "success"
    })
    로그인 후 복사

    는 js 파일에서 사용됩니다.

    ElementUI.Message({
      message: '提示信息',
      type: 'warning'
    });
    로그인 후 복사

    위 내용은 vue3에서 element-plus를 사용하여 메시지를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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