vue3的开发问题--this 问题和全局注册自定函数,provide/inject 的使用

1.this问题和 全局注册自定函数

第一步在main.ts文件

//main.ts文件
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from '@/store';
import { VueAxios } from './utils/axios';
import antd from './plugins/antd';
import './assets/styles/index.scss';
import XLSX from 'xlsx'
const app=createApp(App);
// 创建个函数
const ToDoExcel =function(){
    return 22222
} 
//注册成为全局
app.config.globalProperties.$ToDoExcel=ToDoExcel
    
app.use(router).use(store).use(VueAxios).use(antd).mount('#app');

第二步在.vue 页面

import { defineComponent, reactive, ref, onMounted ,getCurrentInstance} from 'vue';
export default defineComponent({
   setup() {
   
   const instance:any=  getCurrentInstance();
   const _this=instance.appContext.config.globalProperties;
   console.log(_this.$ToDoExcel(),"999999")

    }
})

2.vue3.0的父子通信的 provide/inject 的使用

provide/inject,只能再setup()函数中使用

  //1在父组件中的setup()注入数据
  provide("text",data)  // provide("名字",值) 
  //2在子组件中的setup()接收
 var newData=ref()
newData.value=inject("text");//inject("名字")

3.vue3.0的watch 使用

  const b=reactive({
   age:11
   })
    watch(()=>b.age, (newVal, oldVal,clear)=>{
      console.log(newVal, oldVal,clear)
   })
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容