>  기사  >  웹 프론트엔드  >  vue3에서 element-plus를 사용하여 메시지를 호출하는 방법

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

WBOY
WBOY앞으로
2023-05-17 15:52:313015검색

    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으로 문의하시기 바랍니다. 삭제