您可以使用 Vue Mixins 或 可組合項(xiàng)。
兩者都可以為您提供一些共享的函數(shù)和變量。但我不知道如何在 Vue 中定義新的鉤子,比如 create() 。我必須自己在created() 中啟動(dòng)你的函數(shù)。當(dāng)然,您可以使用 Mixins 覆蓋現(xiàn)有的 Vue hooks。
Mixin 非常方便,但不再推薦
Composition API 中沒(méi)有 created()
,所以你必須使用onBeforeMount()
或onMounted()
這是一個(gè)使用這兩種技術(shù)的非?;镜氖纠?/p>
const { createApp, ref, onBeforeMount } = Vue; const myMixin = { created() { console.log('myMixin: created()') } } const myComposable = () => { onBeforeMount(() => { console.log('myComposable: onBeforeMount()') }) const myFunction = () => console.log('myFunction()') return { myFunction } } const App = { setup() { const { myFunction } = myComposable() return { myFunction } }, mixins: [myMixin] } const app = createApp(App) app.mount('#app')
<div id="app"> <button @click="myFunction()">myFunction()</button> </div> <script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>