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)
})